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确保它会覆盖所有现有文件。