问题标签 [javah]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
582 浏览

android - 使用 javah 工具时包含 Android 平台 jar

使用javah工具创建C/C++.h头文件时如何包含Android平台的jar文件???

0 投票
1 回答
1450 浏览

android - 无法使 javah 与我的 Eclipse Android 项目一起使用

好的,伙计们,我已经阅读了很多 javah 用法的示例,但仍然没有运气。我有 Eclipse Android 项目,所以我尝试以下操作:

我得到什么:

好的,所以,它看到了我的类,我只需要将 android.jar 添加到类路径:

我得到:

“你在开玩笑!你刚刚看到它,现在你找不到它!”,我说。

请,任何帮助!我在这里很绝望。

尝试使用 javac 编译简单的 java 类,然后使用 javah - 它工作正常。

我的环境: Windows 7,cygwin。

0 投票
1 回答
453 浏览

java - Android NDK - 在不同的标头中包含 C++ 标头?

我有一个Ability.h依赖于文件的Effect.h文件。

我需要使用javah来生成我的头文件,但是我无法在我的Ability.java类中定义一个 Effect 依赖项,我希望从中生成 c++ 头文件。

例子:

此代码生成一个没有该函数的 *.h 文件foo(),就好像它无法识别它一样。如果我将返回类型交换为 int 并且不包含 com_test_Effect,它确实会生成一个正确的文件。

我确实在 Android.mk 文件中定义了两个模块(com_test_Effect 和 com_test_Ability)。

如何在javah生成的Xyz.java类中直接包含另一个 c++ 文件? *.h

编辑:这个问题也可以这样问:有没有办法传递 C++ 类型的参数或从作为 C++ 和 Java 之间接口的函数返回 C++ 类型的值?(接口媒介是 JNI。)例如,您可以使用 int 等基本类型,然后将其转换为 jint 等。

0 投票
3 回答
1297 浏览

java - 如何生成特定的 JNI 标头

我有一个 .dll 库,它以以下格式导出函数:

_Java_folder1_folder2_folder3_JavaClassName_javamethodname@16

我无法修改 .dll。它是给我的。

我需要编写一个 java 程序来调用 native javamethodname. 但是,我无法生成正确的头文件。如何生成具有上述指定签名的头文件?

我尝试了 javah -jni JavaClassName,但它没有给我想要的结果。当我从目录层次结构中调用 javah 时,我得到一个像这样的标题:

Java_JavaClassName_java方法名

当我尝试从目录层次结构外部调用 javah 时,出现错误。

另外,如何在Java前面的标头签名中获取下划线?即:_Java 不是 Java。

谢谢!

0 投票
2 回答
4474 浏览

android - 在 Linux 上使用 javah

我有一个用于 JNI 的简单类,我需要将其导出到头文件 (.h)。

我已经读到我需要使用该javah命令,方法是转到src项目的文件夹,然后键入:

在 Windows 上它工作正常,但在我的主操作系统(Linux)上却不行。它一直告诉它找不到课程。我尝试使用该命令的多种组合并在许多可能的路径上运行它,但它不起作用。我已经关注了许多教程和网站(包括这里)并尝试了它们的组合。

我什至尝试为此使用 Eclipse 的外部工具,如此处所示,但它也显示了相同的错误。

我得到的错误如下所示:

谁能帮帮我吗?我真的很喜欢在 Linux 上工作,并且不想每次需要使用这个工具时都切换操作系统。


以下是正确答案:

  1. 对于控制台,转到“bin/classes”文件夹并运行我使用过的命令:

    javah -jni com.main_package.NativeClass

  2. 对于 Eclipse,使用我提供的链接,但不要${project_loc}/bin/使用${project_loc}/bin/classes/,然后,在包资源管理器中,转到 NativeClass.java,并运行外部工具。输出将与 java 文件的路径相同。

0 投票
3 回答
1020 浏览

android - 没有在命令行上指定类

我正在尝试一个示例 JNI 程序,但无法让 javah 工具工作。我在 C:\Workspace\VideoRecorder\src\org\ccb\wifo\video\Nativejni.java 中有 1 个源文件 Nativejni.java。org.ccb.wifo.video 是包的名称。我已经编译并在 src 目录中获得了一个类文件。对于生成头文件,我尝试如下

但我得到了一个像 .

我用谷歌搜索了很多并尝试了在那里找到的解决方案。但是没有用。请帮我。

0 投票
2 回答
561 浏览

c - jni中的dll加载异常

我正在尝试使用 JNI 实现一个简单的 HelloWorld 应用程序。从 Java 调用 c 函数。我创建了一个java类:

}

然后生成一个.h文件,创建c实现并成功生成.dll。但我无法执行 java HelloWorld...我看到异常

什么问题?

0 投票
4 回答
4723 浏览

android - javah 错误:无法访问活动

我试图为我的 Android NDK 应用程序使用 Javah 制作一个 .h 文件。我正在使用 cygwin 为我做同样的事情。

将工作区修复到我当前应用程序的 bin 文件夹,我执行了这个命令:-

但是,它始终给出以下错误:-

谁能帮我解决这个问题?

我还尝试转到包含 java 文件的文件夹并在那里执行 javah,但仍然遇到相同的错误:-

我猜这以某种方式描述了这个问题是由于一些权限问题。

0 投票
1 回答
886 浏览

eclipse - 如何在Eclipse版本中配置javah工具:windows 4.2.0(android NDK编译)

我尝试在 eclispe 中设置超级简单的外部工具,这就是我所做的 javah,这意味着尝试网络中的所有链接仍然可以正确设置。当我关闭外部工具配置时,它给了我错误

在此处输入图像描述

在此处输入图像描述

我尝试使用和不使用 -jni 仍然给我错误:

0 投票
2 回答
1158 浏览

java - 错误:找不到“ParallelIndexation”的类文件

我编写了这个 Java hadoop 程序,它将执行文件的并行索引。该文件是在 eclipse 中创建的

我通过命令编译了程序

然后对于本机方法,我尝试创建 .h 文件

收到以下错误

在目录/export/hadoop-1.0.1/folder/classes/org/myorg中有3个文件:

  • ParallelIndexation$Map.class
  • ParallelIndexation$Reduce.class
  • ParallelIndexation.class