2014-10-09 83 views
1

已經提到 - >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加入的影片沒有分隔。我已經嘗試過預處理的「:」,並沒有什麼區別。我假設這是詳細輸出中的一個錯誤,而不是核心功能。

回答

4

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確保它會覆蓋所有現有文件。

相關問題