把建ndk开发环境的步骤简要总结一下:
1. 下载NDK开发包, 解压到本地, 在eclipse里进行配置.
2. 工程名上右键-> android tools -> add native support, 输入本地库的名字 libhellojni.
eclipse会自动添加一个jni目录, 生成hellojni.cpp和Android.mk. 提示错误找不到jni.h
解决办法是需要配置一下工程, 右键工程, C/C++ General, path and symbols, include tab window, add-> add all laungage. 配置"include"目录.
因为项目初始建立时设置的是android2.2, 所以选platform 8下面的include目录.
3. 建议把java的C接口文件, 单独的创建一个java类.
用native关键字声明本地方法.
4. 为java层的native方法生成c语言的头文件, 用两种方式可以实现:
a. 用javah 为.class文件生成c语言的头文件, 然后把生成的这个.h文件拷贝到工程的jni目录. 也可以加-d选项, 直接指定.h文件的最终目录.
b. 也可以用eclipse自带的ant工具生成头文件. 有点复杂以后有需要时再弄这个. 使用ant工具的好处是以后修改java文件后直接执行ant脚本就可以了, 就不用每次都去执行命令行了.
5. 修改hellojni.cpp, 对本地方法进行实现.
jni目录下的Android.mk就是根据.cpp文件生成.so文件.
6. 在java层, 调用本地方法进行测试
从log输出可以看到, 调用成功了.
在windows上进行NDK开发, 还有关键一步就是, 建立Cygwin环境, 可以参考这篇文章建立: http://www.metsky.com/archives/525.html
tips:
1. 在eclipse里无法启动模拟器, 原因是豌豆荚引起的, 把豌豆尖的进程杀掉后就好了.
2. 编译时, 提示ndk版本问题导致编译出错, google后的解决办法是修改ndk开发包中的一个文件.
环境建立好了, 下一步就是看如何用ndk控制屏幕显示及各个硬件这个任务了.