1. javah
用法:
javah [options] <classes>
其中, [options] 包括:
-o <file> 输出文件 (只能使用 -d 或 -o 之一)
-d <dir> 输出目录
-v -verbose 启用详细输出
-h --help -? 输出此消息
-version 输出版本信息
-jni 生成 JNI 样式的标头文件 (默认值)
-force 始终写入输出文件
-classpath <path> 从中加载类的路径
-cp <path> 从中加载类的路径
-bootclasspath <path> 从中加载引导类的路径
<classes> 是使用其全限定名称指定的
(例如, java.lang.Object)。
2. 错误: 找不到类android.content.Context。
https://blog.csdn.net/angcyo/article/details/51591584
参考上面的文章,生成头文件,但是由于我的native函数传递了Context类的对象,所以报错。
错误: 找不到类android.content.Context。
从报错中可以看到,属于android.jar的内容,查看javah help选项,想通过-cp -classpath添加,但两个效果是一样的,且只能跟一个路径。
最终通过增加-bootclasspath将依赖的android.jar添加进去。
-bootclasspath you_sdk_path/platforms/android-21/android.jar
生成成功。