Javah:错误:无法访问android.support.v7.app.ActionBarActivity

Dan*_*Dan 4 java eclipse java-native-interface android javah

我有一个javah的问题,我已经阅读了大约4或5个stakcoverflow帖子,错误"已解决",但任何事情对我有用.

我的问题:

当我执行javah命令时,我有这个错误:

Error: cannot access android.support.v7.app.ActionBarActivity
  class file for android.support.v7.app.ActionBarActivity not found
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

这是我测试过的命令:

C:\Users\MyUser\workspace3\PruebaApp\jni\include>javah -classpath ../../bin/classes;C:\Users\MyUser\AppData\Local\Android\sdk\platforms\android-14\android.jar -o ACK.h com.test.prueba.ACK
Run Code Online (Sandbox Code Playgroud)

我已经尝试了同样的命令只有"/"而只有"\"用于分离目标.

我用android-11,android-14和android-21试过了.

我试图将以下外部jar添加到我的项目中:"android-support-v4.jar"和"android-support-v7-appcompat.jar"

我试图用eclipse创建一个外部构建配置,就像这里:找不到Javah Error android.app.Activity

我正在使用的工具

我在Windows 8.1上使用eclipse juno.

我执行命令的文件夹是{project_dir}/jni/include.我从不同的文件夹中尝试过它,正确地修改了命令.

包含本机函数的.java文件是包中的"ACK.java":"com.test.prueba"

在项目中,我使用的android库是android 5.0.1

我能做什么?提前致谢.

ali*_*dro 9

在java类中声明的本机方法足以生成JNI头.在您的示例中,命令javah的选项-classpath不是很有用.假设com/test/prueba/ACK.java您处理的类是生成JNI标头的.您可以将工作目录更改为{project_dir}\src,执行命令

javah com.test.prueba.ACK
Run Code Online (Sandbox Code Playgroud)

com_test_prueba_ACK.h将在当前目录中创建相应的JNI头文件.