Android JNI编译问题汇总

1. javah 命令生成 .h文件生成问题.

正确的使用方法是: 使用IDE正确编译后到.\bin目录下去.

使用javah -classpath . -jni 包名.类名 

例如javah -classpath . -jni com.test.testjni.TestJNI

其中bin目录下面应该是com文件夹的根目录.

特殊情况: 如果该类名使用了除Java以外的代码如Activiy类.该命令会出现Class Not found如下所示:

错误: 无法访问android.app.Activity
  找不到android.app.Activity的类文件

原因是编译时, Classpath没有包括Android的Class文件目录.  解决方法是:

然后就进去sdk里面Platform的 Android-16目录下,把android.jar复制,改名为android.rar,然后解压为一个名叫android的文件夹,删掉android.rar,进去android文件夹,把目录复制,到classpath里面加上去,ok了


最终成功代码如下:javah -classpath D:\android-sdk\platforms\android-16\;.  -jni com.xxxx.xxxx.android.plugin.natives.simi.utils.AQConfig


你可能感兴趣的:(Android JNI编译问题汇总)