草庐IT

android - 即使在 deleteLocalRef 之后,jni 表也会溢出

当我运行代码时,我得到一个错误“添加到JNI本地引用表失败有512个条目”这是我的代码:jstringpJNIData=pJNIEnv->NewStringUTF(variables[0].GetStringValue());pJNIEnv->CallStaticVoidMethod(pJNIActivityClass,pJNIMethodIDStartTime,pJNIData);pJNIEnv->DeleteLocalRef(pJNIData);我已经阅读了一些建议,但没有一个有效!尽管有DeleteLocalRef,它仍然无法工作。该函数在一个分析器中使用,该分析器从字面上调用所

android - nativeLibraryDirectories=[/vendor/lib64,/system/lib64]]] 找不到 "libvideoeditor_jni.so"

java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader[DexPathList[[zip文件"/data/app/com.miimobileapp.miivdo-1/base.apk"],nativeLibraryDirectories=[/vendor/lib64,/system/lib64]]]找不到“libvideoeditor_jni.so” 最佳答案 请尝试以下gradle设置:gradle.properties:android.useDeprecatedN

Android studio获取证书的MD5/SHA1/SHA-256以及公钥的方法

Androidstudio获取MD5SHA1SHA-256值命令:./gradlewsigningReportAndroidstudio获取公钥:keytool-export-aliaskey0-keystorekey.keystore-filezhengshu.cer一、获取MD5SHA1SHA-256值在Android项目中执行命令:./gradlewsigningReport然后以上操作执行完成之后,搜索你的证书名称,找到以下数据:二、获取公钥在安卓项目中执行命令:keytool-export-aliaskey0-keystorekey.keystore-filezhengshu.cer

android - 如何在 Android 开发中使用 JNI 将位图从 Java 传递到 C++?

我想使用用于Android开发的JNI将位图从Android传递到C++。在Java中,我调用此函数将位图从Java发送到C++:publicnativeintsendMyBitmap(Bitmapbitmap);在JNI中,我是这样做的:JNIEXPORTvoidJNICALLsendMyBitmap(JNIEnv*env,jobjectobj,jobjectbitmap){AndroidBitmapInfoandroidBitmapInfo;void*pixels;AndroidBitmap_getInfo(env,bitmap,&androidBitmapInfo);Androi

c# - NotSupportedException 无法激活 JNI 句柄 - MvvmCross

我最近在我的项目中将MvvmCross从3.5.1更新到4.1.4并发布了应用程序更新。在那之后,我从XamarinInsights看到,很多用户体验;无法将Java类型'md53997af0c1a24144057e197743f9f827a/HomeView'的JNI句柄0xffb35af8(key_handle0xe888654)激活为托管类型'package.name.HomeView'在几乎所有具有各自Activity名称的Activity上。所有这些Activity都是MvxActivities。我的Setup.cs-publicclassSetup:MvxAndroidSe

java - Android JNI 中的 native 崩溃 SIGSEGV

我在我的应用程序中随机收到native崩溃信号11(SIGSEGV),代码1(SEGV_MAPERR)。该应用程序循环处理文件并在C++代码中分析它们并返回一个float数组。这是在处理文件时运行一段时间的AsyncTask中完成的。我在导致崩溃的代码中做错了什么?还是超能力的问题?谢谢你。这是AsyncTask的doInBackground函数:protectedStringdoInBackground(Object...urls){for(inti=0;i1){...savetoDB}}}catch(Exceptione){}}return"";}Java和C++代码之间的函数:e

android - 如何将 JNI 与 AAR 库一起使用?

我正在创建一个Android库(.aar文件),我需要使用JNI。(我非常清楚谷歌不鼓励尽可能使用JNI/NDK,但在这种情况下,这是不可能的)。我从一个独立的hello-jni示例应用程序开始(首先学习JNI),其中包含以下文件:HelloJni.javapublicclassHelloJniextendsActivity{@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);TextViewtv=newTextView(this);tv.setText(str

android - NDK/JNI : identifying current thread

在JNI本地方法中,有没有办法在不调用Java的情况下知道当前线程的ID?线程本地存储也可以。编辑:pthread.h存在于NDK包含文件夹中...有谁知道Java线程是否对应于NDK实现中的POSIX线程? 最佳答案 您对哪个ID感兴趣?Dalvik线程转储包括以下内容:"main"prio=5tid=1TIMED_WAIT|group="main"sCount=1dsCount=0obj=0x40017730self=0x12798|sysTid=3167nice=0sched=0/0cgrp=defaulthandle=-21

Android NDK - NativeActivity 与 JNI 库

两年前,我在android-7(Eclair)上开发了一个增强现实框架.由于AR应用程序是计算密集型任务,我开发了一个JNIc++库,JavaActivity使用它来呈现和注册虚拟环境。在Java中获取的传感器读数被传递到下划线c++库以计算虚拟环境的注册。三维对象由从GLSurfaceView调用的native绘制函数呈现。.这会导致大量JNI调用。现在我想将应用程序移植到android-15(IceCreamSandwich).从android-9(Gingerbread)开始Android允许使用NativeActivity.我想了解开发AR应用程序的更好方法。由于每个JNI调用

java - 将现有的 jni 库(已编译 ".so")添加到另一个 android studio 项目

我还没有找到任何人能够在线回答我的具体问题。我有一个旧的Android项目,我想从中复制一些.so库并将它们粘贴到一个新项目中。我是新手,我知道我需要告诉我的新程序在哪里可以找到这些库,但我不知道我是否应该使用CMake或NDK来导入已编译的代码。这是我的目录的样子:我在我的程序中这样调用这个库:static{System.loadLibrary("serial_port");}但是我如何告诉编译器在哪里可以找到这些复制和粘贴的文件?我根据documentation开始了一个文件来自Android,但我对一些事情感到困惑。这是我目前所拥有的:#Setstheminimumversion