1. 程式人生 > >Android NDK開發之Hello-JNI!

Android NDK開發之Hello-JNI!

Android NDK 是指Android Native Development Kit,也被Google稱為“NDK”。Android程式執行在Dalvik虛擬機器中, NDK允許使用者使用類似C / C++之類的原生程式碼語言執行部分程式。包括了:

從C / C++生成原生程式碼庫所需要的工具和build files。  

將一致的原生庫嵌入可以在Android裝置上部署的應用程式包檔案(application packages files ,即.apk檔案)中。 

支援所有未來Android平臺的一系列原生系統標頭檔案和庫  

通常在什麼情況下考慮使用NDK開發:

1. 程式碼的保護,由於apk的java層程式碼很容易被反編譯,而C/C++庫反匯難度較大。

2. 在NDK中呼叫第三方C/C++庫,因為大部分的開源庫都是用C/C++程式碼編寫的。

3. 便於移植,用C/C++寫的庫可以方便在其他的嵌入式平臺上再次使用。  

學習NDK開發先從簡單地開始,包括先從使用得相對比較熟練地Eclipse開發工具開始。

第一步:下載NDK開發工具包。

可以上Android開發者官網對應NDK開發下載網址:https://developer.android.com/ndk/downloads/index.html下載。!

也可以通過Android開發工具下載網址:http://www.androiddevtools.cn/上下載NDK開發包。

第二步:配置NDK開發環境(環境變數)。

下載好NDK開發包,解壓後(如我下載的是android-ndk-r10e版本),解壓後放到本地:D:\android-ndk-r10e。


然後開啟我的電腦-->滑鼠右鍵選擇屬性-->高階系統設定-->環境變數--> 找到系統變數中的path變數進行編輯-->把NDK解壓後文件目錄主放到path最後面,記得加“;”。

最後進行cmd命令視窗,執行ndk-build命令,如下圖,則表示環境變數配置成功。

第三步:對Eclipse進行NDK開發配置:

1,如果沒有安裝ADT開發工具外掛,則需要安裝ADT,我用的是已經安裝 好ADT的Eclipse。安裝 ADT方法和安裝其它開發外掛方法一樣。

2,配置Eclipse中NDK路徑(不進行配置也可以)

第四步:配置Genymotion模擬器

如果開發中要把專案安裝在Genymotion模擬器上,則開發NDK時要對Genymotion模擬器進行簡單配置,需要下載

第五步:開啟Hello JNI之旅。

啟動Eclipse,匯入NDK開發包中示例程式碼中的hello-jni.


正常情況下,匯入專案是不會報錯的。但是執行專案會報錯。匯入專案結構如圖


接下來在cmd視窗中,進行到專案所在目錄,執行ndk-build命令:
執行成功會如上圖一樣提示檔案生成資訊。命令執行完成,重新整理下HelloJni專案,如圖:
結果可見,增加了libs及obj檔案,檔案下有對應平臺的.so庫等檔案。現在執行專案,成功啦!專案展示結果如下:
在我們的HellJni專案中,有一個jni檔案,開啟檔案中Application.mk檔案,把APP_ABI := all這句程式碼註釋後,再重新執行ndk-build命令,你會有新的發現哦。第一個NDK專案就到此,繼續學習中。。。。