正文  高级教程 > NDK/JNI >

Windows下Android NDK开发环境配置

具体配置过程就不冗述了,网上一搜一大堆。主要是:1)下载Android NDK;2)安装Cygwin;3)在Cygwin中配置Android NDK的环境变量。说白了,就是将windows系统下的NDK路径映射到Cygwin环境下,以便后期编译的时......

具体配置过程就不冗述了,网上一搜一大堆。主要是:
 
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,顺利运行!