使用Android Studio進行NDK開發

來源:互聯網
上載者:User

標籤:add   content   pen   檔案的   nat   his   rar   project   建立   

Step1:建立native方法

很easy,僅僅須要給定義好的方法加上native關鍵詞就可以

注意:由於該方法的詳細實現是在c++中詳細實現的。所以相似於介面方法不須要加{}。

Step2:產生class檔案(多數情況可忽略)

大多數情況下class檔案是已經產生的。可是在剛進行改動或者代碼中出現錯誤時,有可能會影響到class檔案的產生,這時僅僅須要又一次產生一下就能夠了。步驟為菜單條Build==>Make Project(若存在錯誤。修正後又一次嘗試本操作就可以)

Step3:產生.h檔案

點擊View->Tool Windows->Terminal,將命令列表單開啟,相當於windows下的cmd表單。

cd app/src/main/java
將路徑切換到app/src/main/java
javah -d ../jni collector.com.indoorun.orientionsensorcollector.JNI
將包括native方法的類編譯串連到.h檔案

此時項目中已經產生了jni目錄和.h檔案(其餘檔案是後來加入的。請先無視)

Step4:實現c/c++檔案

將上一步產生的.h檔案複製一份,尾碼名改成.cpp(個人喜歡c++,用c的話.c就可以),去除頭尾和凝視部分。將方法詳細實現,這一步驟須要一定的c/c++基礎。

Step5:配置gradle檔案

改動相應module的build.gradle檔案(配置ndk)

改動local.properties檔案(值得ndk路徑,沒有的話自己去下載個)

改動gradle.properties檔案(開啟ndk編譯許可權)

Step6:產生.so檔案


執行完畢後的結果:

Step7:使用jni

在java代碼中使用載入so庫(建議寫在Application中或者在jni類中用static代碼塊)
System.loadLibrary(“InertialJNI”);//你產生so檔案時取的名字。
然後在你須要用到的地方當成一般java方法一樣調用就可以了。

(確保使用前已經load)
以上~一切搞定~直接run就好了~

使用Android Studio進行NDK開發

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.