Ошибка при создании файла заголовка для нативного метода Java - PullRequest
1 голос
/ 28 ноября 2011

Я пытаюсь создать заголовочный файл для нативного метода Java в приложении Android для разработки интерфейса JNI. Я создал нативный метод в файле Java. а также запустить приложение для Android. И теперь я пытаюсь создать заголовочный файл с помощью команды javah, как D:\workspace\Internet_TV4\bin>javah com.internet.videos.Internet_TV4 тогда эта ошибка приходит

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

Так что я не могу создать файл заголовка. Может ли любое тело, пожалуйста, помогите мне решить эту проблему.

Заранее спасибо

1 Ответ

2 голосов
/ 12 января 2012

У меня возникла точно такая же проблема, и я понял ее после запуска javah -help

Вам необходимо установить classpath с помощью опции -classpath. В папке, в которую вы хотите вывести файл заголовка, запустите:

javah -classpath D:\workspace\Internet_TV4\bin\classes\ com.internet.videos.Internet_TV4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...