我觉得Google 推出NDK 1.6, 表明了一个态度的改变:从不鼓励程序员进行Native 的开发到支持。
1:推出了实际的JAVA+NDK的开发例子模板,程序员直接可以讨论其模块和技巧
2:在C 层开放了OPENGL 接口
3:简化了JNI的开发麻烦,如对比1.5的例子,程序员已经不需要实习jint JNI_OnLoad(JavaVM* vm, void* reserved)函数,对jni函数的注册
4:toolchain 本身并没有升级(增加了gdb什么的),这也说明了这次升级的目的。
使用过程
1: 下载NDK http://developer.android.com/sdk/ndk/1.6_r1/index.html
2:解压并执行build/host-setup.sh
注意: 必须在上层目录来解决调用这个sh
和bash兼容,担不兼容dash
一些诸如make等工具要先准备好,我想一般不是问题
出现以下log 表示配置正确:
Host setup complete
3: 尝试hellojni 例子
在根目录编译:
make APP=hello-jni
在libs/armeabi/下面得到对应的libhello-jni.so。
4:从eclplse 基于代码创建一个工程,进行编译。得到的APK里面,会自动包含这个so。java代码中可以直接load这个so:System.loadLibrary("hello-jni");