草庐IT

JNI_ASSERT

全部标签

java - android jni返回多个变量

如何从jni函数返回多个变量,避免数组mangaling的开销? 最佳答案 我可以想出三种不同的方法。回调从您的JNI代码中调用一个带有多个参数的Java方法,在您的Java代码中的某处设置一个变量,您可以在从该方法返回时检索该变量。JNIEXPORTvoidJNICALLJava_my_package_name_JNIReturnExample_returnWithJavaCallback(JNIEnv*env,jobjectjavaThis,jfloatparam1,jfloatparam2){//Gettheclassofth

android - 在 JNI Android 中写入标准输出?没有 <android/log.h>

我已经更改了androidndk的HelloJni示例,我想向stdout写入一些内容。这是Jni代码:#include#include#includejstringJava_com_example_hellojni_HelloJni_stringFromJNI(JNIEnv*env,jobjectthiz){printf("HellofromC!\n");return(*env)->NewStringUTF(env,"HellofromJNI!");}这是我的日志:09-2813:07:02.906:I/ActivityManager(1650):START{act=android.

android - 将静态库链接到 Android 中的 JNI 共享库

我是Android的新手,如果这看起来有点成熟,请原谅我。我有两个预构建的静态库,feta(../../feta/build/libfeta.a)和mish(../../mish/build/libmish.a),我有共享的JNI库。使用JNI库工作得很好,但我试图通过JNI库访问feta和mish。这两个库与Android项目一起不断更改和更新,因此每次构建它们时都复制它们并不是一个真正的选择(如果这样甚至可以解决链接问题),我不喜欢简单地复制将源文件导入到Android项目中。我试过搜索,但大多数答案都使用旧版本的系统,要我修改Android.mk,我没有。我使用的是最新版本的An

android - 如何从 Android Gingerbread 中的 libmedia_jni 访问自己的 libmediaplayerservice 库

默认情况下,androidGigerbread2.3使用PV_Player(opencore库)。我找到了一个解决方案,它应该修补系统build.prop文件,但我不想修补系统。我想使用将使用StageFright播放器的android媒体框架工作创建我自己的库。我知道libmediaplayerservice决定播放器的选择。看看mediaframework我想根据android框架创建库-libmedia_jni_ownlibmedia_ownlibmediaplayerservice_own但问题是libmedia不直接与libmediaplayerservice库交互,它不直接

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 - 如何在 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