2011-11-28 65 views
1

我想在開發JNI接口的android應用程序中爲Java本機方法創建頭文件。我已經在java文件中創建了本地方法。並運行android應用程序。現在我已經嘗試使用像D:\workspace\Internet_TV4\bin>javah com.internet.videos.Internet_TV4 JAVAH命令,然後這個錯誤是未來爲java本地方法創建頭文件時出現錯誤

error: cannot access com.internet.videos.Internet_TV4 
class file for com.internet.videos.Internet_TV4 not found 
javadoc: error - Class com.internet.videos.Internet_TV4 not found. 
Error: No classes were specified on the command line. Try -help. 

其中com.internet.videos是包名和Internet_TV4創建頭文件類name.I有在早期使用sdk舊版本的命令成功創建頭文件。現在我正在使用最新版本的android sdk,並且出現這種類型的錯誤。而在新版本中的所有類文件在\工作區中創建\ Internet_TV4 \ BIN \類\ COM \網絡\視頻路徑,所以我自己也嘗試該命令D:\workspace\Internet_TV4\bin>javah classes.com.internet.videos.Internet_TV4 但我又得到了一些錯誤,如

error: cannot access classes.com.internet.videos.Internet_TV4 
bad class file: .\classes\com\internet\videos\Internet_TV4.class 
class file contains wrong class: com.internet.videos.Internet_TV4 
Please remove or make sure it appears in the correct subdirectory of the classpa 
th. 
com.sun.tools.javac.util.Abort 
     at com.sun.tools.javac.comp.Check.completionError(Check.java:164) 
     at com.sun.tools.javadoc.DocEnv.loadClass(DocEnv.java:149) 
     at com.sun.tools.javadoc.RootDocImpl.<init>(RootDocImpl.java:77) 
     at com.sun.tools.javadoc.JavadocTool.getRootDocImpl(JavadocTool.java:159 
) 
     at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:330) 
     at com.sun.tools.javadoc.Start.begin(Start.java:128) 
     at com.sun.tools.javadoc.Main.execute(Main.java:66) 
     at com.sun.tools.javah.Main.main(Main.java:147) 
javadoc: error - fatal error 

所以我無法創建頭文件。任何機構都可以幫助我解決這個問題。

預先感謝您

+0

您可以手動創建頭文件嗎? JNI函數的命名約定相當簡單。你可以看看NDK的hello-jni例子。 –

+0

我認爲你在Andorid中使用非常古老的步驟來使用本機代碼,爲什麼你不遵循Android-NDK步驟,它很容易使用它。此鏈接將幫助您開始使用本地代碼。 http://mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/ – Pawan

+0

你能檢查你提到的課程包嗎? – GustyWind

回答

2

我有此相同的問題,運行javah -help

你需要使用-classpath選項來設置classpath中後琢磨出來。在要輸出頭文件的文件夾中,運行:

javah -classpath D:\workspace\Internet_TV4\bin\classes\ com.internet.videos.Internet_TV4