Java Native Interface(JNI)既提供了JVM实现运行系统本机代码的能力,也提供了本机代码运行Java代码的能力(通过创建新的JVM实例)。 JNI最常见的目标语言是C和C ++,至少Sun / Oracle JDK实现提供了帮助程序命令(javap - 用于代码反汇编,javah用于代码生成)。
在注入的 jar 中执行方法时出现 JNI NoClassDefFoundError
尝试将 jar 文件注入正在运行的 java 进程时,出现 NoClassDefFoundError 错误。 Jar 文件字节: 静态常量无符号字符 lib_bytes[] = { 0x50、0x4b、0x03、0x04、0x14、0x00...
我正在研究用 C 语言编写的 Nikon SDK 和带有 JNA 库的 Java 程序之间的包装。 所有进程都以 dll 内的 EntryPoint (MAIDEntryPoint) 结束。 此条目的签名...
在你读得太远之前,我最初的想法是错误的。但调查很有趣。 给出一个简单的 Java 程序来测量可用的堆栈深度: 静态 int 最大深度 = 0; 私人
给出一个简单的 Java 程序来测量可用的堆栈深度: 静态 int 最大深度 = 0; 私有静态无效foo(int深度){ maxDepth = Math.max(maxDepth, 深度); foo(深度+1); } 公开
问题是: 假设我使用该函数: (* env) -> GetByteArrayRegion (env, array, 0, len, (jbyte *)buf); 在这种情况下,一定数量的字节从数组写入到 buf 中还是反之亦然?
如何通过Java java.lang.foreign API访问本机字节数组
我想通过 FFI/Panama 从 Java 访问 PKCS11 库。假设我们在 Windows x64 下有以下 1 字节打包组布局: GroupLayout groupLayout = MemoryLayout.structLayout(
Android 相机 takePicture 使用预览小缓冲区
我正在使用OPENCV开发一个项目。我在 onCameraFrame 上有一些进程。当它显示预览时,用户可以拍照。但在某些设备中,我在调用 takePicture(...) 方法后出现错误...
我有一个java应用程序。该应用程序调用与 JNA 共享的库的“square”方法,并将结果打印到控制台。运行 jar 文件时一切正常,但是......
我在这里注意到,当调用本机方法时,会生成一个包装器。然而,这个包装器似乎仅在编译该方法时生成。所以,我的问题是: 原生方法可以吗...
我在这里注意到,当调用本机方法时,会生成一个包装器。然而,这个包装器似乎仅在编译该方法时生成。所以,我的问题是: 可以是我本地人吗...
我正在使用Java编写一个Android应用程序。我还使用 jni 接口来调用本机函数。 例如: JNIEXPORT jint JNICALL Java_com_app_Native_test(JNIEnv *env, jobject 对象) {
我需要开发一个桌面应用程序,使用 PCI-e 驱动程序从 FPGA 板读取/写入数据。驱动程序已经安装,我可以编译所使用的可执行文件的源代码...
Win32 函数 DwmGetColorizationColor 的 JNA 绑定返回 E_INVALIDARG 错误
我正在尝试使用 JNA 为 Win32 函数 DwmGetColorizationColor 创建绑定。 根据 MSDN,这是函数签名: HRESULT DwmGetColorizationColor( [输出] DWORD *
如何使用 Android Studio Profiler 或其他工具跟踪 JNI 中的内存泄漏
我想知道如何使用 Android Profiler 跟踪 JNI 中的内存泄漏。 我有一个使用 NDK 的应用程序,它在 JNI 中存在内存泄漏。我在 Profiler 中检查过。 JNIEXPORT jfloat JNICALL FACE_ENGINE_METHOD(
我遇到了强化错误 UNSAFE JNI 的麻烦。 我有一个类将本机方法调用到第二个类中。 第二类使用JNI。 当我运行强化扫描时,出现不安全 JNI 错误。 我尝试...
我想知道如何释放c++类的实例。 我尝试这样但发生了错误。 直播 *pLive = 直播::getInstance(); // 用 pLive 做一些事情 env->DeleteLocalRef(reinterpret_cast<
Android Studio 4可以使用API构建项目吗< 9?
我希望我的应用程序支持任何 Android 手机 api 3 及更高版本。 为什么?因为我不喜欢浪费,而这些旧手机完全可以胜任手头的任务。 可悲的是获取有关基本信息...
JNI GetPrimitiveArrayCritical 导致 JVM 崩溃
我有一个java程序调用JNI函数来对字节数组执行计算,返回一个长数组。该程序在 Oracle JDK 1.8.0_221 上运行。为了测试吞吐量,我运行代码
使用 yGuard 进行混淆时如何保留本机(JNI)方法名称?
我正在尝试使用 yGuard 来混淆我的应用程序的 jar 文件。 本机 (JNI) 方法和包含它们的类不应重命名,因为这样应用程序将不再工作......
JAVA代码 布尔 b = invokeNativeFunction(); int i = invokeNativeFunction2(); C代码 jboolean Java_com_any_dom_Eservice_invokeNativeFunction(JNIEnv* env, jobject obj) { 布尔bb=0; ......