草庐IT

JNI_ASSERT

全部标签

android - 导入现有的 Android 项目导致 JNI 文件夹中有很多 "bugs"

我有一个带有native库的eclipse项目,我需要将这个项目复制到另一台机器上。我在那里处理这个项目文件夹并使用“文件->新建->来自现有代码的Android项目”。我还使用勾选“将项目复制到工作区”。然后我转到jni文件夹,看到很多错误,例如“Unresolvedinclusion:”、“类型‘JNICALL’无法解析”、“方法‘GetStringUTFChars’无法解析”等。总共有31个错误.我正在尝试编译这个jni库。没问题。它已经编译,但我仍然看到我之前看到的所有错误。我尝试启动android应用程序,它告诉我我的项目包含错误。这个问题只存在于原生库中。如何解决这个问题?

android - 如何在设备中检索支持的 android JNI 版本?

我需要知道Android设备是否支持JNI以及哪个版本。我可以使用哪个函数调用来执行此操作?我还应该从Java端还是NDK端调用它? 最佳答案 您可以在任何设备上的任何Android应用中使用JNI。JNI提供了一个GetVersion调用。您还可以将最低版本指定为JNI_OnLoad的返回值或作为AttachCurrentThread的参数。旧版本的Android支持1.4。较新的版本支持1.6。与往常一样,最好从JNITips开始页面。 关于android-如何在设备中检索支持的an

android - 通过在 qt 中从 C++ JNI 发送字符串在 Android 中显示 Toast

我正在尝试在C++端的Java方法调用上显示toast我已经设法调用了那个方法,甚至得到了字符串,但是Toast不工作我已经尝试了几乎所有的上下文和所有C++方面JavaVMAttachArgsargs={JNI_VERSION_1_6,NULL,NULL};vm->AttachCurrentThread(&env,&args);activityConstructor=env->GetMethodID(activity,"","()V");jobjectobject=env->NewObject(activity,activityConstructor);toastID=env->Ge

webpack 使用打包报错 ERROR in node_modules\@types\node\ts4.8\assert.d.ts

报错如下:解决方式,先查看自己的node版本node-v然后再安装@types/node对应版本,比如我的如下npmi@types/node@14.10.0-D然后再次打包,就没有报错了

android - JNI 从 C++ 调用 Java 方法

我在使用JNI时遇到问题,从C++调用方法到Java。我正在尝试调用一个采用bool值的void方法。我的java代码如下:publicvoidsetStatus(booleanbool){//Dostuff...}publicnativevoidinitialize(intdefaultPort);在我的C++代码中,我正在创建一个结构来保存环境和对象并将其传递给线程:JNIEXPORTvoidJNICALLJava_com_device_client_HostConnection_initialize(JNIEnv*env,jobjectobj,jintport){structja

Android学习--JNI

文章目录JNI(JavaNativeInterface)NDK(NativeDevelopmentKit)一、创建一个JNI项目1.创建项目2.C++文件字段说明1.Extern“C”2.JNIEXPORTh和JNICALL3.JNI接口命名规则4.JNIEnv5.jclass和jobject6.数据类型7.JNI函数签名信息二、JNI实现1.简单实现2.静态注册3.动态注册三、案例:利用JNI存储SDK相关的密钥信息1.静态注册方案2.动态注册方案四、原理解析1.动态注册原理解析2.静态注册原理解析3.Java调用Native的流程总结JNI(JavaNativeInterface)提供一种

android - 使用 JNI(更具体地说是 Android NDK)时,Java 是否通过引用或值传递给 C

当使用JNI(更具体地说是AndroidNDK)时,Java是否通过引用或值传递给C 最佳答案 这取决于类型。原始类型按值传递,引用类型按...引用传递。参见http://java.sun.com/docs/books/jni/html/types.html 关于android-使用JNI(更具体地说是AndroidNDK)时,Java是否通过引用或值传递给C,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

java - 从 JNI 获取 Java 中使用的字符串

JAVA代码这是我用JAVA编写的部分代码,如您所见,这是一个名为JC_VerificationCandidate的类,它有两个String成员enrollmentID和seedIndex。classJC_VerificationCandidate{publicJCDSM_VerificationCandidate(StringenrollmentID,StringseedIndex){this.enrollmentID=enrollmentID;this.seedIndex=seedIndex;}publicStringenrollmentID;publicStringseedInd

android - JNI GetMethodId 返回空

我有一个简单的问题,但无法在网上找到解决方案。我只想使用JNI从native检索Java字符串。jintJNI_OnLoad(JavaVM*vm,void*reserved){void*my_lib_handle;jmethodIDmid;jstringresultString;JNIEnv*env;intstatus;__android_log_write(ANDROID_LOG_DEBUG,"JNI",">JNI_OnLoad");status=(*vm)->GetEnv(vm,(void**)&env,JNI_VERSION_1_4);if(statusAttachCurrent

Android - JNI 指南

我想将小型、精简且平均的基于C的解析器合并到我的Android项目中。我过去做过JNI编程,但没有在Android上进行任何类型的native(C)开发。我的计划是将Clib编译成SO并围绕它创建JNI包装器,我将在我的应用程序中使用它。这是可以/应该如何完成的吗?第二个也是最重要的问题-如何将.so包含到我的APK中?它会去哪里? 最佳答案 这取决于您传递的数据量以及我严重怀疑Java/JNI/C的执行速度是否会比nativeJava实现更快的频率。将除“JavaInt”以外的任何内容传递给“Clong”会调用JNI数据转换例程,