我读过,我需要使用javah命令,转到项目的src文件夹,然后键入:
javah -jni com.main_package.NativeClass
在Windows上,它工作正常,但在我的主要操作系统(Linux)上没有。 它一直告诉它找不到课程。 我试图使用命令的许多组合,并在许多可能的path上运行它,但它不起作用。 我跟随了很多教程和网站(包括这里),并尝试了他们的组合。
我甚至尝试过使用Eclipse的外部工具,如下所示,但它也显示了相同的错误。
“Hello world”Android应用程序尽可能less的文件,没有IDE,只有文本编辑器
如何在Kali Linux上打开Android Studio
Android VpnService如何保护fd工作?
将android移植到自定义arm设备需要哪些知识/专业知识?
切换时崩溃活动
我得到的错误是这样的:
error: cannot access com.main_package.NativeClass class file for com.main_package.NativeClass not found javadoc: error - Class com.main_package.NativeClass not found. Error: No classes were specified on the command line. Try -help.
谁能帮帮我吗? 我真的很喜欢在Linux上工作,每次需要使用此工具时都不想切换操作系统。
这是正确的答案:
对于控制台,转到“bin / classes”文件夹并运行我用过的命令:
javah -jni com.main_package.NativeClass
对于eclipse,使用我给出的链接,而不是${project_loc}/bin/ use ${project_loc}/bin/classes/ ,然后在包资源pipe理器中,转到NativeClass.java,运行外部工具。 输出将与java文件的path相同。
Java简单的时间戳date转换
EOCD没有find,没有Zip,而安装apk没有来源
在qemu-arm中运行Android应用程序?
瓢虫错误。 无法在密钥库中列出证书。 可能是因为通行证不正确。 (RuntimeError)
你不去到项目的src文件夹,而是编译的.class文件的根目录(其中com子文件夹存在或被创建)。 javah正在寻找编译的类,而不是你的源文件。 如果您只是手动运行javac ,则类文件将与原始源位于相同的位置。 然后声明“去src文件夹”是正确的。 但是,如果你在Eclipse中有一个项目,或者你使用ant或者其他的东西,这些类可能处于完全不同的位置 – 这取决于你的项目是如何设置的。 我猜测你的Windows和Linux上的Eclipse项目的设置是不一样的。
您不必在类文件上使用javah。 您可以直接在源文件(.java)上使用javah来生成本地C / ++签名(头文件)。 例如:
javah -cp /Users/Android/android-sdk/platforms/android-xy/android.jar;. com.test.JniTest
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。