1

我已经找到了大约 5 个答案,尝试了所有答案,但都没有成功。

环境:Ubuntu 12.04/靛蓝

运行->外部工具->外部工具配置...

创建新程序位置:/usr/bin/javah /* $ which javah 给 /usr/bin/javah * /

工作目录:${workspace_loc:/MyProject/bin/classes}

属性:-d ${workspace_loc:/MyProject/jni} com.myproject.MyActivity

运行结果:找不到“com.myproject.MyActivity”的类文件

从终端运行给出相同的结果 maxim@ubuntu:~/workspace/MyProject/bin/classes$ javah -jni com.myproject.MyActivity

错误:无法访问 android.app.Activity 的 android.app.Activity 类文件,未找到 maxim@ubuntu:~/workspace/MyProject/bin/classes$

已安装 SDK/NDK,添加了外部路径。如何添加缺失的部分?谢谢大家。

编辑于 7 月 3 日

将本机库加载移动到单独的类解决了这个问题

4

3 回答 3

9

android developer's answer中也提到了这篇文章的详细说明:

正如您在下面的屏幕截图中看到的那样,像这样设置外部工具:

  1. 在 Eclipse ADT 中,单击“运行”,将鼠标悬停在菜单的最后一个选项 - “外部工具”上,然后选择“外部工具配置”

  2. 将路径设置为以下内容:

    2.1。位置:安装 Java C:\Program Files\Java\jdk1.7.0_13\bin\javah.exe 的位置

    2.2. 工作目录:你项目的 /bin/classes/ 目录 ${workspace_loc:/MyProject/bin/classes}

    2.3. 参数:-jni ${java_type_name}

  3. 单击运行(请注意,您必须选择 java 类)

  4. 使用您的文件浏览器,检查 /bin/classes/ 目录 - 您应该在那里找到 .h 头文件。

在此处输入图像描述

希望这可以帮助某人。

于 2013-02-13T14:08:09.607 回答
2

我在 linux 上也有类似的问题。原来我没有在正确的文件夹上做这件事。

尝试阅读它,看看它是否有帮助:Using javah on linux

于 2012-06-29T22:17:45.963 回答
1

根据恩克的回答,为了方便起见,我添加了更多论据。
1.您不必使用“-classpath”正确设置工作目录。(您可以忽略图片中的工作目录设置。)
2.您可以从Eclipse中的集成控制台获取详细信息。
3.您可以使用“-d”参数指定输出目录。
*不要忘记替换此图中的项目目录名称。(“MyProject”)

如何在 Eclipse 项目中设置 JavaH 执行参数。

于 2013-05-09T17:12:27.487 回答