一、NDK解析:
Android平台從誕生起,就已經支持C、C++開發。眾所周知,Android的SDK基於Java實現,這意味着基於Android SDK進行開發的第三方應用都必須使用Java語言。但這並不等同於“第三方應用只能使用Java”。在Android SDK首次發布時,Google就宣稱其虛擬機Dalvik支持JNI編程方式,也就是第三方應用完全可以通過JNI調用自己的C動態庫,即在Android平台上,“Java+C”的編程方式是一直都可以實現的。
不過,Google也表示,使用原生SDK編程相比Dalvik虛擬機也有一些劣勢,Android SDK文檔里,找不到任何JNI方面的幫助。即使第三方應用開發者使用JNI完成了自己的C動態鏈接庫(so)開發,但是so如何和應用程序一起打包成apk並發布?這里面也存在技術障礙。比如程序更加復雜,兼容性難以保障,無法訪問Framework API,Debug難度更大等。開發者需要自行斟酌使用。
於是NDK就應運而生了。NDK全稱是Native Development Kit。
NDK的發布,使“Java+C”的開發方式終於轉正,成為官方支持的開發方式。NDK將是Android平台支持C開發的開端。
二、下載並解壓:
http://developer.android.com/tools/sdk/ndk/index.html
官網方法:用 “./***”解壓
ndk$ chmod a+x android-ndk-r10c-darwin-x86_64.bin
ndk$ ./android-ndk-r10c-darwin-x86_64.bin
三、Mac下安裝配置環境:
解壓完,copy到一個專門放自定義運行文件的目錄中,比如,mac下建Users/yourname/bin 目錄
export PATH=${PATH}:/Users/jarrahwu/Documents/android-ndk-r10d //
A_NDK_ROOT=/Users/lian***uan/bin/android-ndk-r10d //
export A_NDK_ROOT
四、android studio項目中修改 local.properties
sdk.dir=/Applications/Android Studio.app/sdk //寫自己的sdk和ndk的路徑
ndk.dir=/Users/liang***uan/bin/ndk
當沒裝NDK時報的錯:
Error:Execution failed for task ':app:compileDebugNdk'.
> NDK not configured.
Download the NDK from http://developer.android.com/tools/sdk/ndk/.
Then add ndk.dir=path/to/ndk in “local.properties”. // 這邊甚至教了你需要添加的位置
(On Windows, make sure you escape backslashes, e.g. C:\\ndk rather than C:\ndk)
相關鏈接:
http://developer.android.com/tools/sdk/ndk/index.html //官網下載地址 和 安裝方法 ,但配置.bash_profile需要參考下面文檔
http://www.cnblogs.com/jarrah/archive/2013/03/15/2961892.html //mac下安裝
http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html //解釋什么是NDK,為什么用NDK