JNI—javac生成头文件时出现 "错误: 无源文件" 的解决办法

错误提示: 警告: 已计划在下一个 JDK 主发行版中删除 javah工具。该工具在 JDK 8 中已由添加到 javac 的’-h’ 选项取代。建议用户改为使用 javac '-h’选项; 有关详细信息, 请查看 javac 帮助页。
javac: 找不到文件:

javac生成头文件时出现 “错误: 无源文件” 的解决办法

在做ndk的jni方法时,首先要新增一个jni的类,这个.java文件在完成后,要build一下。然后就要进行生成jni头文件的操作了。由于在java10以后,javah这个javac的方法被移除,生成jni头文件必须用javac的方法,在我这怎么试都不行,在terminal输入javac,有javac的用法:

javac  <options>  <source files>

看到我需要的< options > 项:“ -h < directory > 指定放置生成的本机标头文件的位置”,也就是要用命令:

javac  –h  <directory>  <source files>

来生成头文件,而我一直以为选项的< directory >就是.java文件的路径,导致每次输入命令都是找不到源文件,没有输入源文件,当然找不到源文件了。
特别注意,生成头文件的< options >,一定要是 -h 再加上头文件的目标目录(文件夹),
在本例中表现为 “ < options > ” 等价于 “ –h < directory > ” !!!

将路径cd到需要生成头文件的文件夹后,输入命令:

javac  -h  ./  JNI.java

JNI.java 为你要生成头文件的文件

上面的命令的作用:根据Java中的 native 方法生成对应在 C 中的方法该怎么写(自动生成)

即可生成头文件。其中,“ -h ./ ”表示头文件生成到当前目录。

发布了113 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42814000/article/details/105279704