问题标签 [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 投票
2 回答
6733 浏览

android - javah Android Studio 错误:无法访问 android.support.v7.app.ActionBarActivity 的 android.support.v7.app.ActionBarActivity 类文件未找到

我正在关注如何在 Android Studio 中使用 NDK 的本教程:http ://www.ph0b.com/android-studio-gradle-and-ndk-integration/

我在 Windows 8 上安装了 android studio 0.9.3,我按照视频中教程的每个步骤进行操作,在生成 jni 文件夹的步骤中,我在 android studio 的终端中执行此操作:

D:\ANDROID\workspace\NDKSample\app\src\main>javah -d jni -classpath D:\ANDROID\kits\sdk\platforms\android-19\android.jar;D:\ANDROID\workspace\NDKSample\app \build\intermediates\classes\debug com.jihv.gildas.ndksample.MainActivity

我有这个错误:

任何帮助将不胜感激,

谢谢

0 投票
1 回答
284 浏览

java - 在java中使用本机代码

我想创建 c 库并在 Linux 操作系统上的 java 代码中使用它。我正在尝试理解和实现自然图书馆的概念。我正在关注本教程 http://diglib.stanford.edu:8091/~testbed/doc/JavaUsage/JNI/tutorial.txt

这有助于我理解一些概念。但是,当我尝试自己做时会出错。我搜索了我遇到的错误,但没有一个解决方案有帮助。

我写的自然库的主类代码和类如下:

当我写“javac main.java”时,我会收到类似的错误

“main.java:6:错误:找不到符号 getKeyPressed natlab=new getKeyPressed();”

当我跳过 main 并且只使用本机方法对类执行 javac prcess 时,尝试获取头文件 javah -jni getKeyPressed.class

尽管有一个文件为 getKeyPressed.class,但我收到如下错误:

我在没有 .class 扩展的情况下尝试它说

它说即使我通过复制 getKeyPressed.class 来制作 getKeyPressed 类文件。

看来我犯了一个重大错误,有什么建议可以解决这个问题吗?

0 投票
0 回答
150 浏览

android - HelloNDK如何在Ubuntu14.04中使用Javah?

我正在使用 Ubuntu14.04,Eclipse Luna。

我指的是给定链接的 Hello World 示例

http://www.ntu.edu.sg/home/ehchua/programming/android/Android_NDK.html

我的项目名称是HelloNDK.

我的项目路径是/home/androiddev/workspace_luna/HelloNDK

AndroidManifest.xml 我可以看到我使用的包被命名为:com.delta.hellondk

Android.jar 自动添加到 Android 5.0.1 下的项目中,其位置显示为

当我使用 javah 命令时,我得到了错误。

我在终端中使用以下行。

当我使用以下命令时,出现如下错误:

现在我在google,stackoverflow中搜索了很多关于如何自动生成HelloJNI.h的关键字。但我失败了。请指导我!我知道它的重复问题应该是反对票,应该是“搁置”。但后来我也没有得到任何线索,所以我毫不犹豫地问。

0 投票
1 回答
317 浏览

spring - javah 无法从 spring-context-3.0.3.jar 文件中找到依赖类

我正在使用 ANT 任务来编译 java 类,然后使用生成 .h 文件

Windows 7 上的 javah [版本“1.7.0_55”]

以下是我的 build.xml 中的代码片段

但我无法生成 .h 文件并得到以下错误

Error: Class org.springframework.context.MessageSource could not be found.

即使我已将“spring-context-3.0.3.jar”添加到 externalJars dir => ${external.lib.dir}

我的 java 文件 MyNativeImpl.java 使用包“import org.springframework.context.MessageSource;” Java 文件编译使用 ${external.lib.dir} 和 MyNativeImpl.class 也可以在 ${classes.dir} 下生成

不知道我做错了什么!!

几乎花了 1 天时间在 SS 上搜索,但可以找到特定的解决方案。我有许多来自 spring 框架的此类依赖 jar,可以在${external.lib.dir}下完全编译我的应用程序,因此想知道如何解决这个问题,以便 JAVAH 可以在 .jar 文件中找到类!

但是我现在确定为什么当我使用 spring-context-3.0.3.jar 时它找不到相同的 MessageSource.class ?

是否有我遗漏的东西或者这是唯一的方法:-(非常感谢任何帮助。

提前致谢

问候, 维维克

0 投票
3 回答
5920 浏览

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

我对 javah 有疑问,我已经阅读了大约 4 或 5 篇带有错误“已解决”的 stakcoverflow 帖子,但任何东西都对我有用。

我的问题:

当我执行 javah 命令时,出现此错误:

我试过的:

这是我测试过的命令:

我也试过同样的命令,只有“/”和只有“\”来分隔目录。

我已经尝试过使用 android-11、android-14 和 android-21。

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

我曾尝试使用 Eclipse 创建外部构建配置,如下所示:Javah Error android.app.Activity not found

我正在使用的工具

我正在使用 Eclipse Juno,在 Windows 8.1 上。

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

包含native函数的.java文件是包中的“ACK.java”:“com.test.prueba”

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

我能做些什么?提前致谢。

0 投票
1 回答
228 浏览

java - Ubuntu 14.04、Eclipse、Javah 命令找不到 .class 文件

Javah 命令不起作用,我尝试了很多命令,每次它只返回 java.class 找不到这些是我尝试过的命令:

javah -jni com.Lewis.NativeLib。在 /Home/Workspace/NDKdemo/bin/classes 目录中。

javah -jni NativeLib。在 /Home/Workspace/NDKdemo/bin/classes/com/Lewis。

请不要将我指向另一个仅包含我尝试过的上述命令的答案。

0 投票
1 回答
134 浏览

java - 可以获得ant的javah命令行吗?

蚂蚁任务:

问题是,我对 MyAPI 进行了更改(添加了一个方法),但是,尽管清除了头文件和编译的类文件,但当我运行此任务时,并没有添加我的新方法。如果我运行javah com.MyAPI,它可以正常工作。

可以在执行 ant 任务时看到命令行吗?

0 投票
1 回答
281 浏览

gradle - 将 Maven javah 任务写入 gradle

我如何将 Maven Javah 任务写入 gradle。我有以下 POM 文件,我需要将其转换为 gradle 但我被卡住了如何将 Javah 任务写入 gradle

0 投票
1 回答
2266 浏览

android-studio - Android Studio 中的终端显示错误 - 线程“main”java.lang.IllegalArgumentException 中的异常:不是有效的类名:

我是 NDK 的新手。我已经工作了将近一个星期,现在试图弄清楚它的工作原理。我在网上看了很多教程,但无济于事。我总是卡在这一步,无法继续前进。使用 javah 实用程序的部分。编码的第一部分是MainActivity的内容。接下来的部分是我在构建项目一次后在终端中所做的。我收到的错误消息也显示在这里。请告诉我我能做些什么来纠正这个问题。我已经黔驴技穷了!

Android Studio 版本 - 1.3.1

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。版权所有。

C:\Users\Asish\AndroidStudioProjects\NDK1>cd 应用

C:\Users\Asish\AndroidStudioProjects\NDK1\app>cd src

C:\Users\Asish\AndroidStudioProjects\NDK1\app\src>cd main

C:\Users\Asish\AndroidStudioProjects\NDK1\app\src\main>javah -d jni -classpath C:\Program Files\Android\android-sdk1\platforms\android-23\android.jar;C:\Program Files \Android\android -sdk1\extras\android\support\v7\appcompat\libs\android-support-v4.jar;C:\Program Files\Android\android-sdk1\extras\android\support\v7\appcompat\libs \android-support-v7-appcompat.jar; ....\build\intermediates\classes\debug\com\mytest 包 com.example.asish.ndk1.MainActivity

线程“main”java.lang.IllegalArgumentException 中的异常:不是有效的类名:Files\Android\android-sdk1\platforms\android-23\android.jar;C:\Program at com.sun.tools.javac.api .JavacTool.getTask(JavacTool.java:129) 在 com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:107) 在 com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java :64) com.sun.tools.javah.JavahTask.run(JavahTask.java:503) com.sun.tools.javah.JavahTask.run(JavahTask.java:329) com.sun.tools.javah。 Main.main(Main.java:46)

0 投票
1 回答
2196 浏览

android - 将 NDK 与 Android Studio 一起使用时如何修复“javah”错误以创建 JNI 文件夹?

我创建了一个基于网络摄像头的 Android 应用程序。我按照YouTube视频创建 JNI 来支持我的项目。但我会在父目录中创建 JNI 文件夹时显示错误。

当我在编译器中编译代码时

它显示错误为

javah 不是内部或外部命令、可运行程序或批处理文件。

stackoverflow 中已经存在一些相同的问题,但它无助于获得解决方案。

引导我。 提前致谢。.