问题标签 [jnienv]
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.
java - 从 nasm 创建的 dll 中使用 JNIEnv
我一直在尝试调用 JNIEnv 函数 GetVersion(对于初学者),它的索引为 4(根据本网站)。
我一直在使用此站点作为参考,并通过使用 [ebp + x] 而不是参数名称将 masm 代码调整为 nasm。
下面的类和程序集文件应该创建一个乱码输出,但是一条错误消息将我引导到一个日志文件。
在这个非常大的日志文件中,我发现所谓的寄存器到内存映射似乎并没有将寄存器的内容识别为 JNIEnv 函数(在 eax 中)而是未知值,这一点特别有趣。
谁能告诉我我做错了什么?
我只会附加登录请求,因为它相当大。
Java代码:
ASM 代码:
希望这可以被认为是一个有趣的问题与 SSCE
您真诚地
mmm
java - Android JNI:CallObjectMethod 上的 SIGSEGV
我正在尝试调用自定义 Java 类型的方法,但接收到 SIGSEGV 信号。
这是Java代码
这是本机代码
java - 使用 JNI 从 java 调用非静态方法到 cpp
我正在尝试使用 JNI 将非静态方法从 java 调用到 C++ 我的 Java 代码在这里:
}
我的 C++ 代码在这里:
Java 运行时环境检测到一个致命错误:
java-native-interface - 在 JNI 中使用参数调用 java 方法
我正在开发 JNI 程序,但无法从我的 C++ 程序中调用 java 方法。
java方法的代码片段在这里
我想从 C++ 程序中调用这个 java 方法。
我可以调用代码的主要方法是
我想像这样调用 getTables 方法。请帮我解决它。
android - JNIEnv 用于从本机代码中获取 ANDROID_ID
我需要在我的本机库中获取 Android 唯一设备 ID。据我所知,它可以用 Java API 完成,我需要使用 JNI。我读了这个,有类似的问题,但是访问了不同的 ID。但是这个解决方案需要参考 JNIEnv 来获取 Java 对象/方法。当从 Java 调用 JNI 方法时,这没有问题,JNIEnv 将从 Java 传递。但是我如何才能获得“全部”本机代码的 JNIEnv 呢?
java - Is it possible to attain a reference to the Activity instance which from JNI?
I know that I can attain the Activity object when I call into JNI using the jobject passed into the native method. But, lets assume I cannot use that method to do so.
How can I use the just the JavaVM and JNIEnv objects to attain the Activity instace ?
I know I can use env->FindClass("android/app/Activity") to get to the Activity class, but again, I want the actual Activity instance which initiated my native lib.
c - 如何从 C JNI 调用返回 java 方法的字符串?
有许多函数可用于从 C 调用 java,但是没有函数用于调用 String 返回 java 方法。有人可以告诉我如何从C调用字符串返回java方法吗?
java - 如何将 jstring 转换为 char 数组?
我无法将 jstring 转换为 char 数组
在文件 p.txt 我有这个:��
android - Android Jni:全局和局部引用变量崩溃
我有调用 java 对象方法的 jni c++ 代码,例如:
这在主线程中执行时非常有效,但是当我尝试在另一个线程中执行它时它会崩溃,因为它说它是在另一个线程中创建的:O !! 但是在我阅读 google android 开发者网站后,他们说从任何线程访问 Global Ref 都很好,所以我把那个代码改成了这样。
但我得到了这个崩溃:
任何帮助表示赞赏。
java-native-interface - 获得 JNIEnv 性能的最佳方法?
我一直在努力寻找一种在 C# 和 Java 之间传递数据的快速/高性能方式。
到目前为止,我最初和独特的方法是使用 JNIEnv。
一个 Java 类 Adder 的简单测试用例:
在 C# 方面:
对于相同的物理设备:对于大小为 100 万的 float[] 数组,在 c# 中分析此 Add() 方法的值在 200-500 毫秒之间!请注意,如果我在 Android 原生 Eclipse 项目中运行相同的测试,则调用该函数需要 20-50 毫秒。
如果您需要处理大量数据(如图像、矩阵)以满足实时要求……那么这将变得不可用。
谁能建议将数据绑定到 Java 的另一种方法或 JNIEnv 中的另一种方法?
感谢您的时间。