草庐IT

Hello-Jni

全部标签

android apk JNI报告找不到方法

好了,我的appjava代码如下:packagedoc.android.demo;publicclassNativeInterface{privateStringmStrCrtMsg;/**Thecurrentfilenametobedisplayed*/privateStringmStrCrtFileName;publicstaticfinalnativeintNtvPerformADT(inttest,Stringpath);publicstaticfinalnativeintregisterImage(char[]szDarkPlane0,char[]szDarkPlane1,c

AndroidSDK Hello World 应用程序在我的 MotoX 上调试时出现无效格式错误?

我刚开始学习android-SDK,我按照基本步骤启动了一个helloworld应用程序,但是我在LogCat中遇到了这个错误:06-0617:53:49.203:E/Adreno-ES20(17462)::QCOM>format,datatypemismatch06-0617:53:49.203:E/Adreno-ES20(17462)::QCOM>Invalidformat!我认为这可能是与我正在调试的MotoX相关的问题?我可以看到该应用程序本身在我的手机上成功启动,但我并不真正理解这个错误,所以我不知道这是否是一个大问题,我希望有人能对此有所了解。

android - JNI 在应用程序中检测到错误 : JNI FindClass called with pending exception java. lang.NoSuchMethodError:没有非静态方法“Lchirpconnect/SDK

我正在使用ChirpAndroidSDK用于通过声音共享数据,它运行良好。但是当我启用我的proguard时,这个JNI异常是throw,我已经尝试了很多方法来克服这个问题,比如添加proguard规则让我们看看:-keepclassio.chirp.connect.Chirpconnect{*;}-keepclasschirpconnect.Chirpconnect{*;}-keepclasseswithmembernamesclass*{nativemethods;}但没有找到任何解决方案?我刚刚在libs文件夹中添加了一个chirpSDKAAR并添加了这个repositories

java - CMake 找不到 JNI

我创建了一个支持C++的新AndroidStudio项目,但没有向其中添加任何内容。该项目使用CMake构建、编译和运行。然后,我将以下两行代码添加到文件底部的CMakeLists.txt中,我收到了CMake构建错误。find_package(JavaCOMPONENTSDevelopment)#Line47find_package(JNIREQUIRED)#Line48这是我在构建项目时遇到的错误--FoundJava:/usr/lib/jvm/java-10-oracle/bin/java(foundversion"10.0.1")foundcomponents:Developm

java - 从 r6 更新到 r7 后,Android NDK 找不到 JNI_GetCreatedJavaVMs

我已将我的NDK版本从r6更新到r7。之后,我在编译我的一个native文件时遇到此错误:error:'JNI_GetCreatedJavaVMs'wasnotdeclaredinthisscope我正在为API级别8(Android2.2)构建我的项目。我检查过(MY_NDK_PATH_R6)/android-8/arch-arm/usr/include/jni.h在声明GetCreatedJavaVMs的地方,文件jni.h实际上是指向的符号链接(symboliclink)(MY_NDK_PATH_R6)/platforms/android-3/arch-arm/usr/inclu

java - JNI - 捕获异常并检查其类型

我正在寻找一种方法来捕获在Android(JAVA)端抛出的异常并在native端处理它。我需要做的是检测异常的类型并进行相应的处理。知道它是怎么做到的吗? 最佳答案 我想通了...if(jEnv->ExceptionCheck()==JNI_TRUE){__android_log_write(ANDROID_LOG_DEBUG,"JNI","HASEXCEPTION");jthrowableexceptionObj=jEnv->ExceptionOccurred();jclassexceptionClass=cocos2d::Jn

java - c int数组到java int数组使用jni

这个问题在这里已经有了答案:HowtoreturnanarrayfromJNItoJava?(4个答案)关闭4年前。我有一个类似的功能,int*print(intcount){int*myarray;inti=0;myarray=(int*)(malloc(sizeof(int))*count);for(i=0;i现在我如何使用JNI在java中使用myarray我试过这样jintArrayJava_com_example_testmyapp_MainActivity_JListPrint(JNIEnv*env,jobjectthiz){returnprint(5);}在java中in

java - JNI NewStringUTF 调用时出现未决异常 'java.lang.NoSuchMethodError'

我不知道为什么调用本地方法会抛出异常。native代码:JNIEXPORTjstringJNICALLJava_org_amk_lockscreen_JNIActivity_getPackege(JNIEnv*env,jclasscls,jobjectcontext){jclassContext_class=(*env).FindClass("android/content/Context");jmethodIDmidGetPackageName=(*env).GetMethodID(Context_class,"getPackageName","(V)Ljava/lang/Strin

android - 如何在 Android 中构建没有 JNI 的共享库?

我开发了一个Android应用程序,它需要一个共享库。我已经在Linux中创建了相同的库(使用gcc),所以我想在Android(ARM处理器)中编译相同的共享库。但是NDK只支持JNI。现在我想构建一个没有直接JNI交互的单独共享库。我有很多C文件和头文件,所以我无法为所有内容编写JNI。我想为ARM处理器构建我的库。我该怎么做?mystutureis----->JNI---->myfile.c(jniccode)----->android.mk(hereicallmytwosharedlib)folder1--->include----src---->lib(hereiwillge

android - ART 在 native 信号处理期间阻止来自 JNI 的任何 Java 调用

我的项目在android系统中使用了一个捕获崩溃并发送的模块。当处理native崩溃时,native代码会做一些事情,然后从JNI执行java调用。它在Dalvik上运行良好。但它在使用ART的5.0以上的android版本中失败。因为ART在native信号处理期间阻止来自JNI的任何Java调用。上面说ART信号处理使用alternatesignalstack,那么在信号处理过程中,不能调用java方法吗?还有其他办法吗??流量:1、Java调用native方法,native方法崩溃2.native崩溃处理程序捕获信号以处理崩溃。3.crash处理过程中调用JNI方法失败12-31