技术问答

问题描述 我需要加密由C ++编写的Android本机服务创建的一些文件.我必须使用密钥库,但我不知道该怎么使用.有任何库或文档吗? 推荐答案 我知道线程很旧,但也许将来会帮助某人.下面的提示是指Android Keystore V3和V4(分别为Oreo和Pie). 基本上是HAL密钥库(如所述在这里)包裹在密钥库服务中. 服务API模拟了IkeymasterDevice.hal中描述的界面.而不是Blob,您可以为键使用字符串别

2023-01-20  331
技术问答

问题描述 我对JNI有一个问题,这使我整天都带我,如果我不寻求帮助,可能会让我发疯. 在两个短语中:我从JNI方法中调用了一个newObject,它可以正常工作,但是当我将此代码移动到另一种方法时,它会崩溃. 更多详细信息: 我有这个简单的类,我想从JNI C/C ++代码创建它的实例: package example; public class ModelDetails { public ModelDetails(

2023-01-20  263
技术问答

问题描述 运行Android应用程序时,我会在其中使用JNI函数和C ++代码.运行时,我得到了下面的消息: 致命信号11(sigsegv)在0xe480001d(代码= 1),线程5465 最后是我的代码: JNIEXPORT jstring JNICALL Java_ir_bassir_ndktest4_MainActivity_getName (JNIEnv *env, jobject obj){ jclass c

2023-01-20  300
技术问答

问题描述 我有一个C库,该库想要一个用于刮擦空间的临时缓冲区.我正在考虑将直接字节缓冲区的地址传达给它. VM是否曾经允许在缓冲区最终释放之前重新安置它? JNI框架消失后,本地库将坚持指针.我的理解是,JNI本地对象引用无法缓存,因为VM可以在GC期间重新安置它们.这是否适用于缓冲区地址? 我知道,如果我在Java中分配缓冲区,然后让缓冲区对象脱离范围,则VM将释放缓冲器内存.如果我使用newDirectByteBuf

2023-01-20  279
技术问答

问题描述 在我的应用程序中,我添加了第三方硬件连接性,并使用其提供的Java代码.还使用jna.jar与该代码进行交互,因为它使用本机库加载一些.so文件.它引发错误: java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/android-arm/libjnidispatch.so) not found in resource path (.) Please help

2023-01-20  379
技术问答

问题描述 我设置了一个多模块Maven项目,该项目由一个注定要构建NAR JNI库的模块和取决于该库的JAR打包模块. 我能够将NAR库安装到本地Maven存储库中,但是我无法将其用于依赖模块. 例如,我运行mvn nar:nar-unpack,然后得到: [INFO] ------------------------------------------------------------------------ [INFO] Bu

2023-01-20  356
技术问答

问题描述 我为您提供了希望能节省一些时间和痛苦. 作为我在Windows 64位工作站上了解NB开发V7的经验的一部分,我发现了另一个令人沮丧的冒险,试图使JNI(JAVA本地界面)能力提高并在我的项目中工作.因此,我包括了所需步骤的简要摘要(因为我发现的所有文档对于这些版本的Windows和Netbeans都完全不正确.花了几天的实验和查看每个网页,我可以找到包括这些技术作为关键字搜索. Yuk!不有趣. 开始,因为NetBean

2023-01-20  253
技术问答

问题描述 首先,我有一个旧的C ++库,我将我的应用迁移到Android. 在运行时,可能会动态创建和破坏多个C ++对象.我构建了一组JNI本机方法来呼叫库以获取该方法.但是我应该在哪里保留这些C ++对象?我必须跟踪它们并在不必要的情况下释放它们. 到目前为止,我只知道Java无法提及C ++对象.是否可以制作包括C ++对象的引用的Java包装类? 谢谢. 推荐答案 是的,这是可能的.您可以将指向C ++对象的指针存储在简单的

2023-01-20  358
技术问答

问题描述 我正在与Android Java插件进行Unity工作,我试图从Java呼叫Unity的功能,并成功地工作了. cls_Activity = AndroidJNI.FindClass("com/unity3d/player/UnityPlayer"); fid_Activity = AndroidJNI.GetStaticFieldID(cls_Activity, "currentActivity", "L

2023-01-20  281
技术问答

问题描述 如何将char*转换为JNI中的JChararray? 我必须输入什么代码//待评论部分? JNIEXPORT jcharArray JNICALL Java_finger_FingerPrintJNI_GetVer(JNIEnv *env, jobject thisObj){ char* version = getText(); // Returns char* data type int version

2023-01-20  342