Java Native Interface(JNI)既提供了JVM实现运行系统本机代码的能力,也提供了本机代码运行Java代码的能力(通过创建新的JVM实例)。 JNI最常见的目标语言是C和C ++,至少Sun / Oracle JDK实现提供了帮助程序命令(javap - 用于代码反汇编,javah用于代码生成)。
无法在android studio中从native-lib.cpp创建或访问路径:/storage/self/primary/Download/的文件
在我的一个项目中,它要求我从 android studio 中的 .cpp 文件在路径 /storage/self/primary/Download/ 创建/读取/写入文件,但我无法访问该路径。 截至目前我能够...
GetArrayElements 系列函数被记录为复制数组或将它们固定到位(这样做可以防止压缩垃圾收集器移动它们)。是
如何从 JNI 方法正确调用 NSOpenPanel 以在正确的线程上运行?
由于我不熟悉 Objective-C 和 JNF,我只能让 JNI 类部分执行。到目前为止我已经尝试过如下: 这是 Open.java,它是更重要的 Java S 的 MCV...
如何从python ctypes调用ffmeg libavcodec av_jni_set_java_vm
我需要从 ffmpeg libavcodec.so https://ffmpeg.org/doxygen/trunk/jni_8h.html 调用 av_jni_set_java_vm 函数。 如 ffmpeg 文档中所述,它采用 void *vm 作为参数。 我是我们...
JNI::NewStringUTF 中修改后的 UTF-8 处理在最近的 Android 版本中是否发生了变化?
在早期的 Android 版本中,JNI:NewStringUTF 在传递具有 4 字节编码的有效 UTF-8 字符串时常常会给出错误: 输入无效 修改后的 UTF-8 这是因为 JNI/Java ...
我有一个名为 libmylibrary.a 的文件和一个名为 mylibrary.h 的头文件,其中包含一个名为 myfunction() 的函数。我将它们与 cpp 文件(HelloWorldJNI.cpp)组合起来,创建了一个新的库...
是否可以在 Spring Boot Native 应用程序中使用 PDFBox 从 PDF 渲染图像?
我试图弄清楚如何使用 PDFBox (2.0.30) 在基于 Spring Boot (3.2.1) 的本机应用程序中渲染 PDF 文档中的图像。 PDF 生成工作正常,但图像渲染失败。 ...
UnsatisfiedLinkError:mach-o 文件,但它是一个不兼容的架构(有“arm64”,需要“x86_64”))
我尝试从 Scala 调用 C++ 函数,但在构建连接时遇到一些问题。 在尝试从 Scala 代码连接 C++ 函数时,我遵循了以下步骤。 这是我的 C++ 示例
如何使用 jvmti、jni 或 jvm 函数监控类加载并跟踪原始 jar
我正在为java游戏制作一个反作弊程序。我想监控所有类的加载并找出它是从哪个jar文件加载的,或者是动态生成的,以便我可以计算h...
运行仅存在于内存中的jar文件,大于java字节数组可以容纳的大小
为了快速概述我的目标,我构建了一个应用程序,它将 DLL 注入到 java 进程中,然后该进程尝试从远程主机加载并运行 jar 文件。请注意...
通过 JNI 使用 Java 中的 ncurses,调整窗口大小在按下按键之前不会触发 getch
我的目标是使用 JVM 语言创建基于文本的应用程序, 现在我尝试将 ncurses 与 JNI 一起使用。 当我直接从 C 使用 ncurses 时,调整终端大小将触发 getch() 并返回...
在 C++ 中使用 Admob 时无法获取提供商 com.google.android.gms.ads.MobileAdsInitProvider
我正在尝试将 Admob 广告添加到 C++ Android 游戏中。该游戏使用 NativeActivity,根本不提供任何 Java 代码 - 都是纯 C++ 和 JNI 代码。 我已遵循 Admob C++ 说明...
我正在尝试向 OpenJDK 源添加自定义本机方法(免费),因此我可以从用户应用程序内部将该方法调用为 System.free()。 我参考了在线资源来这样做,并执行了以下操作
我有一个c++文件myCppTest.cpp,它有方法 int myFunction(int argv, char **argc) { } 和 myClass.java 中的 Java 本机方法 公共本机 int myFunction (int argv, char[][] argc); 之后
Android:尝试编译本机代码,收到 UnsatisfiedLinkError:未找到实现
我正在尝试分叉 AndroidPdfViewer 以将其底层库从 PdfiumAndroid 替换为 android-pdfium。 我的问题是,当我在 Android Studio 中加载 AndroidPdfViewer 和 PdfiumAndroid 时,我无法...
Android JNI 中的 C 代码 - printf() 输出去了哪里?
我正在将 C 代码应用程序移植到 Android 中,并使用 Java 本机接口来混合 C 和 Java 代码。 我得到了以下代码,可以毫无问题地编译和运行。 我想知道哪里
背景: 我决定,由于位图占用大量内存,很容易导致内存不足错误,因此我将把艰苦的、消耗内存的工作放在 C/C++ 代码上。 我用于旋转的步骤...
我目前正在开发一个混合java/C 项目。 因为我喜欢尽可能减少运行时障碍,所以我倾向于将资源(图片)集成到我的二进制文件中,从而消除错误...
在JNI中,我知道你可以使用env->DefineClass来定义一个类。例如, jclass klass = client->env->DefineClass(nullptr, classLoader, (const jbyte*) classBytes, (jsize) classBytes_...
我有一个使用一些本机代码的 Java 应用程序,但它出现了错误。我想找出问题所在,但我不知道如何读取 hs_err_pid 转储文件: 原生框架:(J=编译...