天天看點

使用Android Studio進行NDK開發

NDK開發環境搭建

1.下載下傳ndk-r10, 解壓。下載下傳位址

2.打開AS的設定頁面,修改NDK的目錄指向解壓目錄。

使用Android Studio進行NDK開發
使用Android Studio進行NDK開發

項目開發

1.在MainActivity中建立Native方法。

public native String getStringFromNative();

此處會顯示為紅色,不要擔心,這不是報錯。

2.Build –> Make Project,這一步是為了生成MainActivity對應的class檔案,生成C的頭檔案時要用到。

3.打開指令行進入到yourapp/src/main目錄下,用Javah指令生成C的頭檔案。

javah -d jni -classpath F:\SDK\sdk\platforms\android-23\android.jar; F:SDK\sdk\extras\android\support\v4\android-support-v4.jar; F:SDK\sdk\extras\android\support\v7\appcompat\libs\android-support-v7-appcompat.jar; ..\..\build\intermediates\classes\debug com.android.noflag.practicedemo.MainActivity

使用Android Studio進行NDK開發
  • 不要拷貝我的指令,其中可能含有HTML标簽導緻運作錯誤
  • v4不是必須的,不加有可能編譯報錯
  • 加v7包是因為我的Activity繼承了AppcompatActivity
  • 最後一個分号後面的部分指向的是工程下面Build目錄裡的class,告訴javah根據什麼生成c的頭檔案。

4.建立一個.c檔案,把生成的頭檔案中的c方法拷貝進去,并修改。

使用Android Studio進行NDK開發
使用Android Studio進行NDK開發

5.修改MainActivity,載入類庫。

使用Android Studio進行NDK開發

6.修改app的build.gradle,在defaultConfig下增加NDK分支。

使用Android Studio進行NDK開發

7.修改gradle.properties,增加

android.useDeprecatedNdk=true

使用Android Studio進行NDK開發

這個地方不是很明白,谷歌說1.3之後完全支援NDK的開發,不知道為什麼編譯的時候還是不通過。

8.build–>Rebuild Project,生成.so c庫。

使用Android Studio進行NDK開發

9.運作程式,完成。

使用Android Studio進行NDK開發

如有不對的地方,歡迎大家拍磚。

學習過程中參考了兩篇不錯的部落格,寫下來跟大家分享。

http://blog.csdn.net/u014657752/article/details/48107371

http://blog.csdn.net/sodino/article/details/41946607