2012-07-08 79 views
0

,我知道可能因此,我已經試過各種庫。我運行了export CLASSPATH=/path/to/bin/classes,它仍然無法找到輸出。我試着從項目的根目錄$PWD/bin/classes運行該命令,並且仍然有麻煩讓這個工作正常。我有最新版本的ndk(本文寫作時爲r8-1)以及sdk。通過命令行生成的頭文件等JAVAH找不到指定的JNI/Android的NDK

到目前爲止,我見過Javah error while using Jni,以及其指定的同樣的問題,得到同樣的回答另一個問題。

我在x86_64的運行的Arch Linux(Archbang,特別是)。

這裏是我的調用和輸出(從$PROJECT_ROOT/bin/classes執行):

javah -d ../../jni com.example.fibonnacinative.libfib

Error: Could not find class file for 'com.example.fibonnacinative.libfib'

我已經試過與-classpath-verbose等標誌既不似乎幫助。 -classpath只是吐出相同的錯誤,除了我發佈的輸出外,-verbose不會提供任何信息。

Halp?

+0

設定明確的類路徑是必要的,只有當你需要從比你的編譯包的根另一個文件夾執行JAVAH。如果從該根目錄運行WITHOUT類路徑不起作用,那麼設置它將無濟於事。在'$ PROJECT_ROOT/bin/classes'中,你有子文件夾'com/example/fibonnaciactive'和一個'libfib.class'文件嗎?類名看起來有點可疑,因爲它不遵循Java的事實上的camelcase命名標準。 – 2012-07-08 10:45:03

+0

這是一個很大的10:4。 – zeboidlund 2012-07-08 17:00:21

+0

我不得不查看10-4,謝謝擴展我的知識,但是在SO的背景下意味着什麼? :) – 2012-07-08 19:45:52

回答

0

是!這是基於我的愚蠢。

我應該通過鍵入com.example.fibonnacinative.LibFib而非libfib遵循套管約定LibFib

注:類本身是典型的駱駝,而包裝指令的其餘部分是小寫。這些只是約定,請介意你。

對不起鄉親。