Windows环境下Android NDK的开发

Android的NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk文件。Android 应用开发者可以通过NDK调用C或C++本地代码。我们知道apk文件是很容易被反编译的,如果程序对于安全性的要求较高,这个时候就需要使用NDK了。如果我们要
 
在Windows环境下,也可以进行NDK的开发。下面是配置环境的具体的步骤:
 
1.       下载NDK的zip包,解压缩。
2.       下载并安装Cygwin,这是一个在windows平台上运行的unix模拟环境的软件。注意在安装过程中,默认是不安装make和gcc的,所以一定要手工包含make和gcc程序。可以在安装成功后,启动Cygwin,输入make和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.       启动Cygwin Bash Shell,cd进入NDK sample的hello-jni目录,进而进入jni目录,可以看到hello-jni.c文件和Android.mk文件。
$ ls
Android.mk  hello-jni.c
2.       运行$ANDROID_NDK_ROOT/ndk-build,如果运行成功,将看到生成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工程中进行使用了。
Tags: 

延伸阅读

最新评论

发表评论