我正在尝试在android应用程序中为java native方法创建头文件以开发JNI接口。我在java文件中创建了本机方法。并运行Android应用程序。现在我尝试使用像D:\workspace\Internet_TV4\bin>javah com.internet.videos.Internet_TV4
这样的javah命令创建头文件
然后这个错误即将到来
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 是类名。我先前使用此命令为sdk旧版本成功创建了头文件。现在我使用最新版本的android sdk,我遇到了这种类型的错误。在较新的版本中,所有类文件都在\ workspace \ Internet_TV4 \ bin \ classes \ com \ internet \ videos路径中创建,所以我也尝试了该命令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 :(得分:2)
我遇到了同样的问题,并在运行javah -help
您需要使用-classpath
选项设置类路径。在要输出头文件的文件夹中,运行:
javah -classpath D:\workspace\Internet_TV4\bin\classes\ com.internet.videos.Internet_TV4