Java Native Interface(JNI)既提供了JVM实现运行系统本机代码的能力,也提供了本机代码运行Java代码的能力(通过创建新的JVM实例)。 JNI最常见的目标语言是C和C ++,至少Sun / Oracle JDK实现提供了帮助程序命令(javap - 用于代码反汇编,javah用于代码生成)。
我在android应用程序中有以下课程: 包 com.app.s; 公共最终类 Api { 公共本机 int func(String str, String str2); ... ... 静止的 { 尝试 { ...
我知道每个人都只是在像 static {System.loadLibrary("libXXX")} 一样加载类时加载本机库。最近我发现 StrictMode 在 System.loadLibra 处显示 DiskReadViolation...
我正在尝试使用 -fPIC 标志将 R 编译为静态库,以便我可以在 java+JNI 中使用它(只有这可能吗?),但我在“.configure”中找不到正确的标志来编译R这样。 我...
如何从 Kotlin/Native 调用 JNIEnv 函数
jni.h 提供这个 结构JNINativeInterface_ { ... jint (JNICALL *GetVersion)(JNIEnv *env); ... } 在C中调用它可以写成 无效测试(JNIEnv *env){ // C jint版本=...
如何使用 GObject Introspection 生成 Java 绑定?
我需要使用spice-gtk中的GLib库。因为它是一个 GLib 库,这意味着我可以使用 GObject 自省来生成 Java 绑定。我发现我需要获取 GIR XML 文件...
有没有办法使用 JNI 动态添加本机钩子?我的意思是,我想重写类(或新类)中的一些方法,以便重写调用我的本机代码,
我想知道如何使用字符串作为新参数来更改 C++ 中的控制台标题。 我知道您可以使用 Win32 API 的 SetConsoleTitle 函数,但这不需要字符串参数...
无法在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()。 我参考了在线资源来这样做,并执行了以下操作