android中调用native code时,需要用到jni,第一步就是生成类的头文件,android提供了javah工具,貌似是个反编译生成class.h,用法:javah -jni xx.xx.xx,后面是类的路径+名字,但好多时间都报错找不到类文件,主要是2个问题。
1.生成的类是单独的,没有和android有关系的情况下,一般是路径设置问题。比如,我生成的类名字为hellofore,package为com.example.sayhellojni,目录在worksapce下面。
code:
package com.example.sayhellojni;
public class HelloFore{
public HelloFore(){
}
public native void sayHello(String name);
}
目录:G:\Work\Android\workspace\SayHelloJni。
那么要执行命令如下:javah -jni com.example.sayhellojni.HelloFore . 这个一般都没问题,但还是报错,原因就是路径有问题。
正确的执行路径是:G:\Work\Android\workspace\SayHelloJni\bin\classes,也就是工程的bin