NDK的好處:java
1. 代碼的保護,因爲apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。 2. 在NDK中調用第三方C/C++庫,由於大部分的開源庫都是用C/C++代碼編寫的。 3. 便於移植,用C/C++寫得庫能夠方便在其餘的嵌入式平臺上再次使用。
android的NDK開發須要在linux下進行: 由於須要把C/C++編寫的代碼生成能在arm上運行的.so文件,這就須要用到交叉編譯環境,而交叉編譯須要在linux系統下才能完成。
安裝android-ndk
開發包,在google android 官網下載: 經過這個開發包的工具才能將android jni 的C/C++的代碼編譯成庫
android應用程序開發環境: 包括eclipse、java、 android sdk、 adt等。
安裝完以後,須要將android-ndk的路勁加到環境變量PATH中:linux
sudo gedit /etc/environment
在environment的PATH環境變量中添加你的android-ndk
的安裝路勁,而後再讓這個更改的環境變量當即生效:android
source /etc/environment
通過了上述步驟,在命令行下敲:c++
ndk-bulid
彈出以下的錯誤,而不是說ndk-build not found
,就說明ndk環境已經安裝成功了。windows
在NDKr7開始,google的windos版NDK提供了一個ndk-build.cmd的腳本,這樣就能夠直接利用這個腳本編譯,而不須要cygwin了。前面章節我介紹了NDK利用cygwin來進行配置(《NDK利用cygwin環境配置》),如今開始咱們要與時俱進了,其實不一樣之處就是設置c/c++編譯器的不一樣了。eclipse