java-native-interface相关内容

“发生了 JNI 错误"对于程序的一个实例,而不是另一个

我在一台运行良好的计算机上用 Eclipse Java Mars 编写了一个大型程序.我将该程序导出为一个可运行的 Jar 文件并运行它没有任何问题.即使我将整个项目导出到另一台计算机,该程序仍然有效. 当我对项目进行细微更改时,问题出现在另一台计算机上.这些更改只是基于内容的更改,不应影响程序的功能.从 Eclipse 运行程序似乎没有问题. 但是,当我想运行新创建的 Jar 文件时,出现 ..
发布时间:2022-01-25 21:51:23 Java开发

DetachCurrentThread 有时在 NDK 中崩溃

原谅我提出了一个非常模糊的问题,但是,我有一个纯原生 NDK 应用程序,它应该在沉浸式模式(即全屏)下执行. 沉浸式模式 JNI 片段在应用通过 APP_CMD_RESUME 恢复时执行.这在大多数情况下都有效,但是我的 SetImmersiveMode() 片段中的命令 activity->vm->DetachCurrentThread() 时不时会崩溃并导致致命例外: 致命异常:Thr ..

Android - '无法加载 Foo:findLibrary 返回 null'

我知道已经有关于堆栈溢出错误的帖子,但从我在 SO 和 Google 上找到的内容来看,这与我的问题不符. 我正在尝试运行我的应用程序,但是每当调用本机函数时,我的程序就会崩溃,并且我得到以下 LogCat... 08-01 09:15:57.448: E/AndroidRuntime(16966): FATAL EXCEPTION: main08-01 09:15:57.448: E/A ..
发布时间:2022-01-25 21:50:35 移动开发

从 JNI 获取 Java 中使用的字符串

JAVA 代码 这是我用 JAVA 编写的代码的一部分,如您所见,这是一个名为 JC_VerificationCandidate 的类两个 String 成员 enrollmentID 和 seedIndex. class JC_VerificationCandidate {公共 JCDSM_VerificationCandidate(字符串注册 ID,字符串种子索引){this.enro ..
发布时间:2022-01-25 21:50:21 Java开发

通过 log4j 发送 JNI C stderr/stdout

我的 java 应用程序使用 JNI 调用用 C 编写的库.这个本机库将错误记录到 stderr,但我想以某种方式通过我的 log4j 记录器重定向错误流.这可能吗? C 库是外部的 - 我没有源代码,所以无法更改. 谢谢 解决方案 注意:这个答案我没试过;YMMV. POSIX 方法 freopen 将更改与流关联的基础文件.正如手册页所述:“freopen() 函数的 ..
发布时间:2022-01-25 21:48:48 Java开发

JNI system.out 和 printf 行为

我正在编写一个程序,它使用 JNI 与一个简单的 c 程序交互.我创建了以下程序: public static void main(String[] args) {你好 h = new Hello();System.out.println("之前");int number = h.sayHello();System.out.println(number);System.out.println(" ..
发布时间:2022-01-25 21:48:39 Java开发

在没有无限强度 JCE 文件的情况下,Java 中是否可以进行 AES256 加密解密?

我正在进行的项目有一个需要 AES 加密和解密的部分.从我可以查找的所有可能的 Internet 资源中,很难找到任何对 AES256 加密的引用,而无需从 Sun(现在是 Oracle 的网站)下载和安装 Unlimited Strength JCE 文件.除了相同的分发存在的任何法律问题之外,当要求最终用户访问特定网站并下载一些文件,将它们放在目录中然后将内容添加到类路径时,它对我们没有多大帮 ..
发布时间:2022-01-25 21:47:48 Java开发

如何在android中使用ffmpeg将wav文件转换为mp4?

我有一个 wav 文件.如何在 android 中使用 FFmpeg 将 wav 文件转换为 mp4 文件容器格式,并将 AAC 作为音频流.我知道如何为 android 编译和移植 ffmpeg.谁能给我正确的方向 谢谢, 解决方案 你需要编译 libfaac 如果你想要一个质量不错的编码器.然后,像 ffmpeg -i foo.wav -vn -acodec libfaac -a ..
发布时间:2022-01-25 21:47:20 移动开发

JNI:读取 C 代码中的文本文件并返回到 sdk

我正在尝试创建一个 android 应用程序以使用 NDK 从文本文件中读取文本.我的 C 代码将字符串读入变量并将字符串变量返回给 java 代码.但是当我运行 Android 应用程序时,字符串显示在TextView 显示为@ 等符号,后跟一些矩形.从 JNI 返回字符串的格式是什么?检查下面的代码.我可以在没有任何其他权限的情况下读取系统文件吗? printf() 语句会做什么? Ja ..
发布时间:2022-01-25 21:46:31 其他开发

在 Linux 上的 Eclipse RCP 应用程序中加载本机库

我有一个 Eclipse RCP 应用程序,它通过 JNI 使用一些本机库.这些是动态链接到彼此的共享库.在 Windows 上,我将这些库(作为 *.dll 文件)放在 RCP 启动器可执行文件(*.exe)旁边,并通过 System.load("").这很好用,因为启动器的位置似乎已添加到 java.library.path 以便库之间的动态链接有效. 在 Linux 上 ..
发布时间:2022-01-25 21:46:19 Java开发