【问题标题】:How to configure javah tool in Eclipse [duplicate]如何在 Eclipse 中配置 javah 工具
【发布时间】:2012-06-29 22:02:07
【问题描述】:

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

环境:Ubuntu 12.04/ Indigo

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

创建新程序 位置:/usr/bin/javah /*$ 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 日编辑

将原生库加载移动到一个单独的类解决了这个问题

【问题讨论】:

  • 这个问题不是Using javah on linux的重复问题。 Eclipse 完全是另一种动物。此外,未来的访问者可能正在使用 Windows 或 OS X。将他们指向错误的副本是一种伤害。

标签: android eclipse ubuntu java-native-interface


【解决方案1】:

this post 的详细说明在 android 开发者的回答中也提到了:

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

  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 头文件。

希望这对某人有所帮助。

【讨论】:

  • '${workspace_loc:/MyProject/bin/classes}' 为什么我们这里用$?不能用绝对路径吗?
【解决方案2】:

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

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

【讨论】:

  • 毕竟它告诉我:“错误:无法访问 android.app.Activity 的 android.app.Activity 类文件,找不到 android.app.Activity”有什么建议吗?
  • 你把正确的路径放到你的班级了吗? android.app.Activity “属于” android :developer.android.com/reference/android/app/Activity.html 所以你使用谷歌的确切路径很奇怪。你的确切命令是什么?
  • maxim@ubuntu:~/workspace/MyProject/bin/classes$ javah -jni com.myproject.MyActivity 错误:无法访问 android.app.Activity 的 android.app.Activity 类文件,未找到 maxim @ubuntu:~/workspace/MyProject/bin/classes$
  • hmmm... 从未在扩展 Activity 的类上尝试过。也许您需要添加一些额外的参数?尝试创建一个具有非常基本功能的不同类并在其上运行 javah。这将表明我们的方向是否正确。
  • 我有一个在 Windows 操作系统下使用 cygwin 的工作示例,本机库加载到 Activity 类中。工作正常,但我会尝试。
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多