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

时间:2015-02-07 17:27:55

标签: java android eclipse java-native-interface javah

我有javah的问题,我已经阅读了大约4或5个stakcoverflow帖子,其中包含错误"已解决"但是任何事都适合我。

我的问题:

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

Error: cannot access android.support.v7.app.ActionBarActivity
  class file for android.support.v7.app.ActionBarActivity not found

我尝试了什么:

这是我测试过的命令:

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

我只用" /"尝试过相同的命令。并且只有" \"分离恐怖分子。

我已经尝试过android-11,android-14和android-21。

我尝试将以下外部广告添加到我的项目中: "机器人支撑-v4.jar"和" android-support-v7-appcompat.jar"

我试图用eclipse创建外部构建配置,例如:Javah Error android.app.Activity not found

工具我正在使用

我在Windows 8.1上使用eclipse juno。

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

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

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

我该怎么办?提前谢谢。

3 个答案:

答案 0 :(得分:9)

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

javah com.test.prueba.ACK

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

答案 1 :(得分:2)

您应该在classpath参数中编写android-support-v7-appcompat.jarandroid-support-v4.jar的完整路径。

答案 2 :(得分:0)

请查看我的答案https://stackoverflow.com/a/52527212/2573138 它按照enter image description here alijandro所述的方式集成到Android Studio中。