技术问答

问题描述 我正在开发带有本机代码的Android库.该库项目是在应用程序项目中作为库. 我想在应用程序项目使用时调试库. 我很确定库中的设置(makefiles,build命令,编译器选项)项目还可以,因为我尝试了库中的调试器(我创建了虚拟活动并删除了”库”),并且可以使用.我还知道由于加载动态库所需的时间而可能发生的延迟,我认为这不是出于相同的原因. 在应用程序项目中,我刚刚添加了本机代码支持将构建命令设置

2023-01-19  376
技术问答

问题描述 该程序应从SD卡中拍摄图像并调整其亮度.图像是通过NDK C代码从SD卡中拍摄的.要注意的是,描绘图像路径的字符串通过JNI传递给NDK. Java代码: private void adjustBrightness() { imagePath = (Environment.getExternalStorageDirectory().getPath()+"earthglobe.jpeg").toCharAr

2023-01-19  333
技术问答

问题描述 我使用DLL注入和一些JNI Trickery成功地将自己的Java代码注入了运行的Oracle表单应用程序中. (Windows 7,32位,Oracle表格11,JRE Java 8) 我能够穿越组件树,并在某些基本的Java对象中查询和设置值,例如类oracle.forms.ui.VTextField 中的对象 尝试模拟用户时,我被卡住了.单击oracle.apps.fnd.ui.Button 我尝试了2件事:

2023-01-19  403
技术问答

问题描述 例如,假设在Android中,我需要调用静态方法android.os.SystemClock.elapsedRealtime(),该方法从本机代码的一部分返回了一段长时间.在mylib.c文件中,我有 JNIEXPORT jlong JNICALL Java_com_mpackage_MyClass_nativeMethod(JNIEnv *env, jobject obj){ jclass cls = (*env

2023-01-19  399
技术问答

问题描述 问题1: jstring jstrKey; for(int i=1;i<=1000;++i) { LPWSTR strKey = L"string"; jstrKey = env->NewString((jchar *)strKey, wcslen(strKey)); } env->DeleteLocalRef(jstrKey); 问题2: for(int i=1;i<=1000++

2023-01-19  412
技术问答

问题描述 我正在使用JNI允许C代码在Java中完成一些最佳的工作. 在这个问题中我试图链接 libjvm 和 libjli 我的代码工作的库,但是现在我质疑我是否需要 jli 库. 我找不到任何清楚说明 jli 库的目的的文档. 另一个如此问题提示在 jli 是OSX PassThrough库: #elif defined(__APPLE__) // jli needs to be loaded on OSX because

2023-01-19  396
技术问答

问题描述 是否有与平台无关的Java语句来加载与Java源代码在不同目录中的本机库?我想使用这样的东西: public class HelloWorld { static { System.loadLibrary("../some_project/HelloWorld"); } public static native void print(); } 问题是System.loadLibrar

2023-01-19  371
技术问答

问题描述 我的应用程序主要是Java,但对于某些计算,使用C ++库.我们的环境是Java 1.6在Redhat 3上运行(即将为Redhat 5). 我的问题是C ++库不是线程安全.为了解决这个问题,我们运行多个单线读取”工人”流程,并让他们从中央工作经理(也用C ++编写的中央工作经理)进行工作.我们的Java应用程序通过第三方产品致电C ++工作经理. 由于各种原因,我们要重写C ++工作经理和工人.

2023-01-19  356
技术问答

问题描述 我正在开发类似于sun.misc.unsafe但具有扩展内存管理的JNI实现. 为什么来自sun.misc.unsafe和我发达的库的本机方法的呼叫时间极为不同? 一些数字: sun.misc.unsafe.getint(地址)〜1NS 当我的类似方法〜10ns 遵循OpenJDK的源代码,这两个实现都是完全相同的,只是通过指针返回变量.两者都以相同的方式注册. 如何加快jni呼叫?是什么使不安全的表现如此特别? 谢谢

2023-01-19  352
技术问答

问题描述 在编写Android .MK文件时,是否有一些简短的方法可以包含许多文件夹和子文件夹中的源文件?像循环或用于迭代文件夹的代码?例如: folder1 | — subfolder1.1 |---subfolder1.1.1 |---some cpp files |--subfolder1.1.2 |--some cpp files

2023-01-19  387