初试Windows下Android NDK开发环境配置

具体配置过程就不冗述了,网上一搜一大堆。主要是:

1)下载Android NDK;

2)安装Cygwin;

3)在Cygwin中配置Android NDK的环境变量。说白了,就是将windows系统下的NDK路径映射到Cygwin环境下,以便后期编译的时候能找到对应目录;

4)在Eclipse中设置Android project的属性,通过设置working环境与命令,调用Cygwin的编译工具来生成动态连接库。

安装Cygwin是为了与NDK工具一起生成本地代码的动态连接库。具体的调用命令可以在eclipse中的project属性里设置。

我在配置完成之后翻了一个错误,虽然能正常build出so,但是在run的时候总是提示"java.lang.UsatisfiedLinkError",一直没有找到问题原因,后来突然想到jni代码是从NDK sample中copy过来,而调用Native code的Class是自己定义的,跟sample中的不一样。会不会是Java Class的package name与class name不一致造成的呢?打开JNI代码一看,发现Natave方法的命名很有规则:Java_com_example_hellojni_HelloJni_stringFromJNI  com_example_hellojni应该就是调用Native code的Java package,HelloJni应该就是调用Native code的Java class。而自己的Java Class所在package与sample中一致,区别的只是Class name,故对自己的Class rename,ok,顺利运行!

你可能感兴趣的:(初试Windows下Android NDK开发环境配置)