草庐IT

concrypt_openjdk_jni

全部标签

android - 如何根据 android 中的 CPU 能力加载不同的 jni 库?

我有几个jni动态库(*.so),跟cpu能力有关,比如有的库支持armv7+neoncpu,有的库支持armv7+vfpv3cpu,有的库支持非armv7cpu。如何根据CPU能力动态加载它们?我试过下面的代码,但没有用。在这个解决方案中,我在下面的安装包中放置了3个不同名称的库版本:(原名是libavcodec.so)libavcodec_neon.so和libavutil_neon.solibavcodec_vfpv3.so和libavutil_vfpv3.solibavcodec_basic.so和libavutil_basic.so但是libavcodec.so依赖于liba

java - Android & JNI 如何将 Byte[] 数据数组传递给 JNI 并取回 Byte[]

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion我想将相机捕获的byte[]数据(帧)传递给JNI部分。我需要立即传递一些帧,所以我在考虑是否可以创建一个byte[][]来存储byte[],以便我可以从JNI取回byte[]。可能吗?我知道getByteArrayElement()可能会有所帮助。有谁知道如何实现它?其实

opencv的使用(Ubuntu linux环境,AS jni,AS java)

最近要完成一个功能,就是把四个视频合成左右上下分布的一个视频。尝试很多方法,最终使用opencv来实现该功能。(通过opencv实现的视频好像没有声音。)研究的步骤,首先在Ubuntu环境测试,该功能是否实现。然后再将生成的库文件放到AS中,使用jni的方法调用,或者将源码放到AS中利用jni技术。在实现过程中遇到很多问题,下面记录。一、在ubuntulinux环境使用opencv。1、下载opencv安装包。下载地址:官网:https://opencv.org/releases/git地址:https://github.com/opencv/opencv/releases2、将下载的安装包放

OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)

目录1.下载OpenCV的SDK2.创建AndroidNativeC++项目3.Android项目中导入OpenCV工程4.导入OpenCV的库文件5.实现opencv高斯模糊图像处理的demo要在AndroidStudio中配置使用OpenCV库的C++方法,需要完成以下步骤:1.下载OpenCV的SDK首先,您可以从OpenCV官方网站(Releases-OpenCV)下载适用于Android的最新版本的OpenCV库,然后解压得到OpenCV-android-sdk文件夹。 把解压得到的OpenCV-android-sdk文件夹放到D盘。 2.创建AndroidNativeC++项目 配

android - ExifInterface_JNI : Raw image not detected error

尝试获取ExifInterface时,我一直看到未检测到原始图像的错误消息。ExifInterfaceexifInterface=newExifInterface(filepath);introtation=exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION,ExifInterface.ORIENTATION_UNDEFINED);有人知道是什么原因造成的吗? 最佳答案 IamgettingitfromaUributIknowthefilepathexists这些说

JAVA新实战1:使用vscode+gradle+openJDK21搭建java springboot3项目开发环境

前言    作为一个干了多年的全栈技术工程师,厌倦了使用盗版IDE,近些年开发Java一直使用IntelliJIDEA进行Springboot后端项目开发,对于IntelliJIDEA授权问题,一直花钱买学生类的授权,但经常被屏蔽,无法使用,又不舍得花大钱买企业版,索性不再使用了。决定改用VsCode+Gradle+OpenJDK21进行JAVASpringBoot项目开发,后续逐渐前后端都统一一套IDE工具。    一直以来JAVA项目都使用jdk1.8,这次也打算基于最新的openJdk21开启新项目框架搭建,同时尝试从maven转向gradle构建工具,开发工具也尝试使用vscode。并

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

所以我一直在尝试从C++调用java方法,但没有任何运气。这是我收到的错误:JNIERROR(appbug):accessedstalelocalreference0x5cb00019(index6inatableofsize2)VMabortingFatalsignal11(SIGSEGV)at0xdeadd00d(code=1)这是我在代码中所做的(java端):publicclassWrapperextendsActivity{privatenativevoidinitJNIBridge();staticfinalStringTAG="Wrapper";protectedvoid

android - android中的java.lang.NoSuchMethodError : no static method "Lorg/pjsip/pjsua2/pjsua2JNI;. SwigDirector_AudioMediaPlayer

我正在为不同的处理器实现一个android项目。当我只使用一个so文件libs/armeabi/libpjsua2.so时,一切都很好但我使用了多个so文件,例如libs/armeabi-v7a/libpjsua2.so、libs/mips/libpjsua2.so、libs/x86/libpjsua2.so,应用程序崩溃了这是我的日志07-0715:57:59.016:W/System.err(21743):java.lang.NoSuchMethodError:nostaticmethod"Lorg/pjsip/pjsua2/pjsua2JNI;.SwigDirector_Audi

java - native 崩溃 : JNI DETECTED ERROR IN APPLICATION: [thread] using JNIEnv* from [thread]

以下是堆栈跟踪。崩溃起源的源代码是here.我跟踪堆栈跟踪直到android的源代码是here.我无法理解这意味着什么以及为什么它只是有时发生。任何帮助,将不胜感激。很高兴分享更多详细信息。我们已经能够在Android7.0设备上重现此崩溃。但它并不一致。06-2819:09:26.14756965696FDEBUG:************************************************06-2819:09:26.14756965696FDEBUG:NativeCrashTIME:26547206-2819:09:26.14756965696FDEBUG:**

android - 使用 native C++ 对象时如何使 JNI 方法调用不是静态的?

我有以下JNI包装器C++代码:#include"map_container.h"extern"C"{JNIEXPORTvoidJNICALLJava_com_map_Map_openMapNative(JNIEnv*env,jobjectthiz,jstringpath);};staticmap_container*map=NULL;voidJava_com_map_Map_openMapNative(JNIEnv*env,jobjectthiz,jstringpath){constchar*filename_utf8=env->GetStringUTFChars(path,fals