Javah 仍然无法在 OSX/Android Studio 中找到类文件

标签 java android macos java-native-interface javah

引用--> Javah error while using it in JNI

...和 ​​--> android - javah doesn't find my class

...我仍然无法让 javah 工作。具体...

我的 java 类位于此处:

/Users/HKS/Code/MusicPlayer-Android/dspLibrary/src/main/java/com/company/audio/LibDSP.java`

从这个文件夹...

/Users/HKS/Code/MusicPlayer-Android/dspLibrary/src/main/java/`

...我试过运行...

javah com.company.audio.LibDSP
javah -classpath . com.company.audio.LibDSP
javah -classpath /Applications/Android\ Studio.app/sdk/platforms/android-16/android.jar:. -jni com.company.audio.LibDSP

...我也在包含 .java 文件的实际文件夹中尝试过此操作...

javah LibDSP
javah -classpath . LibDSP

所有给通常...

error: cannot access com.company.audio.LibDSP
class file for com.company.audio.LibDSP not found
javadoc: error - Class com.company.audio.LibDSP not found.
Error: No classes were specified on the command line.  Try -help.

有什么想法吗?

附带的详细日志在搜索路径中显示了一些奇怪的东西...

[ Search Path: /System/Library/Java/JavaVirtualMachines....../Contents/Classes/charsets.jar//Applications/Android Studio.app/sdk/platforms/android-16/android.jar:. ]

注意那些用 -classpath 添加的似乎没有分隔符。我试过预先挂起“:”,但没有任何区别。我假设这是详细输出中的错误,而不是核心功能。

最佳答案

明白了!它需要编译的类,而不是源代码。此外,类文件夹 - ./build/intermediates/classes/debug 在 Android Studio 的项目中是隐藏的。

这是最终为我工作的路线。从我模块的根文件夹 (/Users/HKS/Code/MusicPlayer-Android/dspLibrary/):

javah -classpath /Applications/Android\ Studio.app/sdk/platforms/android-16/android.jar:./build/intermediates/classes/debug -jni -d src/main/jni -force com.company.audio.LibDSP

注意 -d 标志是输出文件夹,-force 确保它覆盖任何现有文件。

关于Javah 仍然无法在 OSX/Android Studio 中找到类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26274155/

相关文章:

ios - 将 www 文件夹重新添加到 xcode phonegap 项目

c++ - 使用 CMake 构建简单的 Qt UI 应用程序会创建模糊的 UI

java - 使用 RolesAllowed 的 Jersey 声明链接权限

android - S2RegionCoverer 不遵守最小/最大单元级别?

java - 如何自动(输入时)扩展和收缩 EditTexts 的列以显示所有符号?

android - 保存 Android ListView 页眉页脚 ViewState

c# - MonoDevelop - csproj 文件中的通配符

java.lang.UnsupportedOperationException : Data source org. apache.spark.sql.redis不支持流式读取

java - 如何在不暴露密码的情况下连接到需要密码的数据库?

java - 用 Java 为 OOP 的二十一点克隆制作一副纸牌,当填充这副纸牌时,它会损坏,我不明白为什么