将LibYUV集成到我的Android Studio项目

x8diyxa7  于 2023-01-26  发布在  Android
关注(0)|答案(2)|浏览(277)

我想知道如何将libyuv库包含到我的Android Studio项目中。我有一个预编译的二进制文件"libyuv_static. a"文件,但我做了所有的事情将它包含到我的项目中。我在src/main中创建了一个名为jniLibs的文件夹,并将二进制文件放入该文件夹中,但在运行时它不会加载库,它会给我以下信息:
原因:java. lang.未满足链接错误:无法从加载程序dalvik加载libyuv2rgb。系统路径类加载程序[dexPath =/data/app/com. example. myproject-1.apk,libraryPath =/data/app-lib/com. example. myproject-1]:findLibrary返回空值
。有没有人可以分享他/她的经验。

wqsoz72f

wqsoz72f1#

为了将原生库包含到Android项目中,您必须获得.so文件(共享库),而不是.a(静态库)。
也就是说,你最终应该得到src/main/jniLibs/<abi>/libyuv_shared.so<abi>是 *armeabi,armeabi-v7 a,arm 64-v8 a,x86,x86_64,mips,mips 64 *(你的应用和库支持的任何架构)。

1aaf6o9v

1aaf6o9v2#

现在有一个Android软件包:https://github.com/crow-misia/libyuv-android,可从mavenCentral安装:

dependencies {
    implementation 'io.github.crow-misia.libyuv:libyuv-android:0.25.0'
}

有关用法,请参见https://github.com/crow-misia/libyuv-android/blob/main/sample/src/main/java/app/MainActivity.kt

相关问题