Android的NDK提供了一系列的工具,協助開發人員快速開發C(或C++)的動態庫,並能自動將so和java應用一起打包成apk檔案。Android
應用開發人員可以通過NDK調用C或C++本地代碼。我們知道apk檔案是很容易被反編譯的,如果程式對於安全性的要求較高,這個時候就需要使用NDK了。如果我們要
在Windows環境下,也可以進行NDK的開發。下面是配置環境的具體的步驟:
1.
下載NDK的zip包,解壓縮。
2.
下載並安裝windows平台上啟動並執行make和make和Cygwin,輸入gcc命令,查看是否安裝成功。
3.
修改Cygwin安裝目錄下的
/cygwin/home/XXXX下面的.bash_profile檔案,添加以下兩句(根據NDK目錄具體修改,/cygdrive/d/映射到Windows系統的d盤):
ANDROID_NDK_ROOT=/cygdrive/d/android-ndk-1.6_r1
export ANDROID_NDK_ROOT
配置好環境後,就可以進行NDK的開發了。NDK的開發和傳統的JNI開發沒什麼不同,只不過如果使用NDK的環境,能夠更方便的進行動態庫的開發。如何開發JNI,可以參考很多其他的文章。
下面以編譯sample下面的hello-jni進行舉例,說明如何產生動態庫檔案。
1.
啟動cd進入hello-jni目錄,進而進入hello-jni.c檔案和$ANDROID_NDK_ROOT/ndk-build,如果運行成功,將看到產生<FONT
color="black" face=""">so包的提示資訊。
$ $ANDROID_NDK_ROOT/ndk-build
Gdbserver
: [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup
: libs/armeabi/gdb.setup
Compile thumb
: hello-jni <= hello-jni.c
SharedLibrary
: libhello-jni.so
Install
: libhello-jni.so => libs/armeabi/libhello-jni.so
產生的so檔案,就可以包含到Android工程中進行使用了。
---------------------------------------------------------------------------
GL(arui319)
http://blog.csdn.net/arui319
<本文可以轉載,但是請保留以上作者資訊。謝謝。>
---------------------------------------------------------------------------