技术问答

问题描述 我想在C中分配一些内存并将其与Java对象实例保持关联,例如: void configure(JNIEnv *object, jobject obj, ....) { char *buf = new char[1024]; // associated <buf> with <obj> somehow } ,然后在Java对象收集垃圾时释放内存 – 我可以通过从Java对象的 fi

2023-01-19  330
技术问答

问题描述 我已经开始开发一个非常简单的Android应用程序,该应用程序由三个部分组成: Java应用程序本身 预先建造的共享库(我们将其称为libfoo) 另一个使用预制库的共享库(我们将其称为libfoowrapper) 文件系统看起来像这样: jni Android.mk libfoo.so foowrapper.c Android.mk文件包含以下内容: LOCAL_PATH := $(call my-dir) #

2023-01-19  305
技术问答

问题描述 我试图理解一个android应用,该应用程序包含一个名为foo的本机方法com.app.Bar class Bar有一个静态子句加载共享对象System.loadLibrary(“libfoo.so”)我假设是用 – fvisibility = hidden 因为唯一的导出是JNI_OnLoad,no JNIEXPORT void JNICALL Java_com_app_Bar

2023-01-19  390
技术问答

问题描述 我正在搜索应该将.doc/.docx转换为.pdf的库中. 我得到了pdftron android SDK,因为他们给了libpdfnetc.so file. 对于转换,有一个称为转换的类,内部有一个方法topdf(), 在这种方法中,他们内部称为本机方法filetopdf().我尝试了该代码,但无法调用该本机方法,并且正在获取错误 我想知道,如果有现有的.SO文件,并且您想调用.So文件中存在的本机方法,那么是否需要使用

2023-01-19  341
技术问答

问题描述 是否有一种使用JNI和C#代码创建调用任何给定Java方法的程序的方法? 假设我有一个包含类层次结构的JAR,并且负责加载JVM和这些类,我可以编写一个C#程序,该程序接收Java方法签名 +参数值,并调用Java代码? 请尝试将您的答案限制在免费技术(JNI解决方案)中. 推荐答案 ikvm 是一种选择.它在.NET中实现JVM并提供Interop工具. 其他推荐答案 IMHO最好的方法是将Java程序作为Web服

2023-01-19  316
技术问答

问题描述 因此,我需要使用JNI调用Java的C函数.当传递不同的数据类型(创建本机变量,标题文件,共享库,等等)时,我已经能够成功地执行此操作,但无法与字节数组一起使用.这是我的C函数: #include <stdio.h> void encrypt(int size, unsigned char *buffer); void decrypt(int size, unsigned char *buffer); voi

2023-01-19  328
技术问答

问题描述 解决! 如果此问题在将来帮助其他人,请参见下面的解决方案. 错误 如标题所述,它对我失败了.我收到的错误,当我尝试从内部进行install.packages(‘rJava’)时(有一些良好的检查): checking whether JNI programs can be compiled... yes checking JNI data types... configure: error: One

2023-01-19  414
技术问答

问题描述 im编写一个仅使用本机代码的应用程序. 因此,可以在NDK中获得多点触摸事件吗? 我觉得我像我在整个网络上都呆了,但没有找到任何东西! 有人知道该怎么做吗? 推荐答案 是的,是. 您可以检查称为native-activity的示例以查看如何获取输入事件.寻找engine_handle_input函数. AInputEvent_getType函数返回事件类型.如果是AINPUT_EVENT_TYPE_MOTION,则使用A

2023-01-19  344
技术问答

问题描述 我正要第一次进入JNI(JAVA本机接口)的世界旅行,以提供文件系统更改通知,从平台特定的C/C ++代码到Java.除非有人建议一些我错过的精彩图书馆. 是JNI的新手,我设法在其界面和图书馆生成方面找到了很多文档,但是我在构建本地库时没有发现太多文档. 我有一个基于蚂蚁的现有构建,用于先前存在的Java源,因此,我试图弄清楚是否应该拨打蚂蚁来创建图书馆,或者最好是最好的打电话创建库后的蚂蚁? 两项选项都不会跳出来非常好

2023-01-19  301
技术问答

问题描述 在我的项目中,我想使用Eclipse调试OpenJDK版本8的C/C ++源代码.为此,我完成了以下内容: 使用此 readme . 将资源的Makefile项目导入Eclipse 创建了Eclipse Run配置,对编译的OpenJDK的Java.exe执行GDB并定位示例Java程序.在此配置中,我已连接JDK源代码目录路径,因此Eclipse能够将调试符号转换为源代码线并将其查看给我(显然) 使用这种方法,我可

2023-01-19  389