JAVAH还是不会找到在OSX/Android Studio中的类文件
问题描述:
已经提到 - >Javah error while using it in JNIJAVAH还是不会找到在OSX/Android Studio中的类文件
... - 和 - >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
加入的影片没有分隔。我已经尝试过预处理的“:”,并没有什么区别。我假设这是详细输出中的一个错误,而不是核心功能。
答
Got it!它需要编译的类,而不是源。此外,类文件夹 - ./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
确保它会覆盖所有现有文件。