在我寫這篇文章的時候,Android Studio已經(jīng)是2.3版本了,已經(jīng)集成CMake 編譯工具,
用戶只需在 新建項目的時候,添加選項(Include C++ support),Android Studio就會自動
幫你部署好相應的NDK環(huán)境。但我還是想嘗試使用 Android.mk 配置文件方式來實現(xiàn)NDK開發(fā),
了解其配置的原理,然后再使用 CMake 來部署,這樣能了解兩者間的區(qū)別。后續(xù)的文章就會寫
到用CMake來部署NDK環(huán)境。
假設(shè)你已經(jīng)安裝好了 Android Studio 與NDK 環(huán)境。
建議將ndk-build所在目錄加入PATH環(huán)境變量,以便后續(xù)調(diào)試。
1、打開 File => Project Structure 如下:
如果選框中為空,說明你沒有配置好NDK環(huán)境。
2、copy 路徑, 然后打開如下 windows 系統(tǒng)下的環(huán)境變量
在 Path 變量里添加你的 NDK路徑,即上一步copy的內(nèi)容,記住在路徑前添加 ; 分號。
確定之后,就在Windows 命令窗口 輸入 ndk-build,得到如下圖,說明你配置成功了。
下面我們來新建一個Android項目,實現(xiàn)一個簡單的NDK方法。
1、創(chuàng)建一個NDKUtils.Java類, 新建一個 native 方法,
public native String invokeCmethod();
然后在該類 添加如下代碼,即載入庫的含義:
static {
System.loadLibrary("NDKUtils");//導入生成的鏈接庫文件
}
2、點擊 菜單 Build =>Make Project,就會編譯項目,然后在
你的項目跟路徑 app\build\intermediates\classes\debug\com\magicing\eigenndk
可以看到 NDKUtils.class 文件(com\magicing\eigenndk 是包名,對應你自己的包名)
3、進入Android Studio命令行頁面:
如果你沒有這個選項,則你從 View菜單欄里 Tool Windows => Terminal 調(diào)出該頁面。
輸入如下命令:
cd app/src/main // 進入該路徑
然后執(zhí)行下面編譯命令
javah -d jni -classpath F:\AndroidSDK\platforms\android- 23\android.jar;..\..\build\intermediates\classes\debug com.magicing.ndktest2.NDKUtils
解釋(根據(jù)自身的情況來設(shè)置):
F:\AndroidSDK\platforms\android-23\android.jar; //是你的SDK路徑,
..\..\build\intermediates\classes\debug //相對路徑,都一樣
com.magicing.ndktest2.NDKUtils // NDKUtils 的命名空間
4、當上述的命令執(zhí)行成功后,在app/src/main 多了一個 jni 文件夾,里面