有时候会把已经有的文件拿来用,会直接在已有的java文件基础上写上,native 的方法。
然后在cmd中生成 .h 头文件的时候发现会有错误,我遇到的错误是找不到包,方法找不到。
因为我用的eclipse,在里面用的maven工具,有的包和方法是直接maven引进去的,所以如果你直接在cmd中生成 .h 头文件会发现找不到这些由maven引入的包,导致的找不到包的错误。
所以,解决方法是:
1、新建一个java文件,在里面直写native方法,然后就生成 . h 头文件,这样就相当于什么也没用到,生成头文件肯定成功。
2、接着用这个 .h 头文件写c/c++ 实现方法。
3、最后将 .dll / .so 动态链接库引入。
4、最后在这个新建的java文件中去写其他的程序(就是最开始你有的那些)。
总结:
就是有时候用JNI技术的时候,先生成 .h 头文件,实现后再写其他的程序。如果在很多代码中写native方法,可能生成.h 文件的时候,会有找不到包的错误,因为包是由maven引入的。
完美!!!