在我寫這篇文章的時候,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 如下:

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

 

如果選框中為空,說明你沒有配置好NDK環(huán)境。

 

2、copy 路徑, 然后打開如下 windows 系統(tǒng)下的環(huán)境變量

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

 

在 Path 變量里添加你的 NDK路徑,即上一步copy的內(nèi)容,記住在路徑前添加 ; 分號。

確定之后,就在Windows 命令窗口 輸入 ndk-build,得到如下圖,說明你配置成功了。

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

 

下面我們來新建一個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命令行頁面:

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

 

如果你沒有這個選項,則你從 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 文件夾,里面