2023-01-19 331
我要做的就是使用jdk javah.exe程序生成jni头文件,但是无论我尝试什么,我都会继续收到错误消息”错误:无法找到’ddg.ndktest.nativelib的类文件'”(其中ddg.ndktest是名称空间,nativelib是Java类文件).另外,请注意,要进一步简化过程,我将整个Android项目复制到Java目录.
我已经尝试了以下命令,它们都没有起作用:
如果我的软件包被调用; ” ddg.ndktest”,我的班级是; ” nativelib.java”,上面我的class路径是正确的.我应该在命令窗口中写什么?
尝试以下方法:
更新
因为Java9命令javah已用deprecation warning标记,从Java10开始已从JDK中删除它,因为它的功能现在包含在javac命令中.
.
因此,按顺序可以从java9做同样的事情,您应该运行:
javac -h . NativeLib.java
注意我假设您在正确的目录中
命令以外的主要区别是,现在JNI标头创建针对.java文件中的源代码,而不是编译.class
的源代码.
-h 目录
指定放置生成的本机标头文件的位置.指定此选项时,为每个包含本机方法或带有Java.lang.annotation.native注释的一个或多个常数生成本机标头文件.如果类是软件包的一部分,则编译器将本机标题文件放在反映软件包名称并根据需要创建目录的子目录中.
“> https://docs.oracle.com/en/java/java/javase/11/tools/javac.html#guid-aeec9f07-cb49-4e96-8bc7-8bc7-bcc2c725c9
Javah正在寻找NativeLib.class,而不是源代码.因此,您应该将其指向汇编的课程,无论它在哪里.即使不是在NDKTest/Bin/Classes中您显然期望的地方.
以上所述是小编给大家介绍的生成Java JNI标题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/25846.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态