java-native-interface相关内容
..
..
我在一台运行良好的计算机上用 Eclipse Java Mars 编写了一个大型程序.我将该程序导出为一个可运行的 Jar 文件并运行它没有任何问题.即使我将整个项目导出到另一台计算机,该程序仍然有效. 当我对项目进行细微更改时,问题出现在另一台计算机上.这些更改只是基于内容的更改,不应影响程序的功能.从 Eclipse 运行程序似乎没有问题. 但是,当我想运行新创建的 Jar 文件时,出现
..
..
..
原谅我提出了一个非常模糊的问题,但是,我有一个纯原生 NDK 应用程序,它应该在沉浸式模式(即全屏)下执行. 沉浸式模式 JNI 片段在应用通过 APP_CMD_RESUME 恢复时执行.这在大多数情况下都有效,但是我的 SetImmersiveMode() 片段中的命令 activity->vm->DetachCurrentThread() 时不时会崩溃并导致致命例外: 致命异常:Thr
..
我知道已经有关于堆栈溢出错误的帖子,但从我在 SO 和 Google 上找到的内容来看,这与我的问题不符. 我正在尝试运行我的应用程序,但是每当调用本机函数时,我的程序就会崩溃,并且我得到以下 LogCat... 08-01 09:15:57.448: E/AndroidRuntime(16966): FATAL EXCEPTION: main08-01 09:15:57.448: E/A
..
我是为 Android 开发和使用 Spatialite 的新手,不知道为什么我的应用会因为这个错误而在一些设备上崩溃: java.lang.UnsatisfiedLinkError: No implementation found for void jsqlite.Database.internal_init() (试过 Java_jsqlite_Database_internal_1in
..
JAVA 代码 这是我用 JAVA 编写的代码的一部分,如您所见,这是一个名为 JC_VerificationCandidate 的类两个 String 成员 enrollmentID 和 seedIndex. class JC_VerificationCandidate {公共 JCDSM_VerificationCandidate(字符串注册 ID,字符串种子索引){this.enro
..
我的 java 应用程序使用 JNI 调用用 C 编写的库.这个本机库将错误记录到 stderr,但我想以某种方式通过我的 log4j 记录器重定向错误流.这可能吗? C 库是外部的 - 我没有源代码,所以无法更改. 谢谢 解决方案 注意:这个答案我没试过;YMMV. POSIX 方法 freopen 将更改与流关联的基础文件.正如手册页所述:“freopen() 函数的
..
我正在编写一个程序,它使用 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("
..
..
我正在进行的项目有一个需要 AES 加密和解密的部分.从我可以查找的所有可能的 Internet 资源中,很难找到任何对 AES256 加密的引用,而无需从 Sun(现在是 Oracle 的网站)下载和安装 Unlimited Strength JCE 文件.除了相同的分发存在的任何法律问题之外,当要求最终用户访问特定网站并下载一些文件,将它们放在目录中然后将内容添加到类路径时,它对我们没有多大帮
..
我通过本机方法得到一个 bytebuffer. bytebuffer 以 3 个 int 开头,然后只包含双精度.第三个 int 告诉我接下来的双打数. 我能够阅读前三个 int. 为什么当我尝试读取双打时代码会崩溃? 获取前三个整数的相关代码: JNIEXPORT void JNICALL test(JNIEnv *env, jobject bytebuffer){in
..
我有一个 wav 文件.如何在 android 中使用 FFmpeg 将 wav 文件转换为 mp4 文件容器格式,并将 AAC 作为音频流.我知道如何为 android 编译和移植 ffmpeg.谁能给我正确的方向 谢谢, 解决方案 你需要编译 libfaac 如果你想要一个质量不错的编码器.然后,像 ffmpeg -i foo.wav -vn -acodec libfaac -a
..
如果我只想将值设置为 Double 类型的变量,我可以这样编写代码: public static native int getDoubleVar(Double dobj);JNIEXPORT jint JNICALLtest_jni_Native_testGet(JNIEnv *env, jclass 类型, jobject dobj){jclass DoubleClass = env->Fin
..
我正在尝试创建一个 android 应用程序以使用 NDK 从文本文件中读取文本.我的 C 代码将字符串读入变量并将字符串变量返回给 java 代码.但是当我运行 Android 应用程序时,字符串显示在TextView 显示为@ 等符号,后跟一些矩形.从 JNI 返回字符串的格式是什么?检查下面的代码.我可以在没有任何其他权限的情况下读取系统文件吗? printf() 语句会做什么? Ja
..
我有一个 Eclipse RCP 应用程序,它通过 JNI 使用一些本机库.这些是动态链接到彼此的共享库.在 Windows 上,我将这些库(作为 *.dll 文件)放在 RCP 启动器可执行文件(*.exe)旁边,并通过 System.load("").这很好用,因为启动器的位置似乎已添加到 java.library.path 以便库之间的动态链接有效. 在 Linux 上
..
JavaVM *javaVM = NULL;JNIEnv *jniEnv = NULL; ( createJavaVM )( &javaVM, ( void * )&jniEnv, &javaVMInitArgs ) 其中 javaVM * 和 jniEnv * 是全局变量 解决方案 可以把JavaVM*保存为全局变量,在别处使用吗? 是的. 可以将JNIEnv
..
..