簡體   English   中英

Javah仍無法在OSX / Android Studio中找到類文件

[英]Javah still won't find class files in OSX / Android Studio

在JNI中使用 -> Javah錯誤時

...並且-> android-javah找不到我的班級

...我仍然無法使用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確保其覆蓋所有現有文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM