gpt4 book ai didi

android - 如何在其他架构上使用 "armeabi".so 文件?

转载 作者:行者123 更新时间:2023-12-05 04:33:00 25 4
gpt4 key购买 nike

我为 Android 6 及更高版本创建了一个旧版应用。我需要包含一些为“armeabi”架构构建的 .so 文件。我没有这些共享对象的源代码,所以我无法为其他架构构建它们。

目标设备的架构是“armeabi-v7a”和“arm64-v8a”。两种设备都可以运行“armeabi”的 native 二进制文件,我已经用 adb ( How to find ARM processor version on android device? ) 对此进行了测试。

.so 文件在“/app/src/main/jniLibs/armeabi/****.so”中,但我在运行时收到“JNI:不满意的链接错误”,所以它没有使用它们.

我如何强制设备使用这些文件,尽管它们没有针对运行时进行优化,但却是我唯一可以访问的文件。

感谢您的帮助。

我使用 Android Studio 2021,Gradle 7,minSdkVersion 21,targetSdkVersion 31,compileSdkVersion 31

最佳答案

终于解决了这个问题!经过几天的绝望,我通过将 Gradle 从 7.1.2 降级到 3.2.0 来让它工作。

旧的 Gradle 版本日志:

由于缺少 ABI“ARMEABI”的剥离工具,无法剥离库“.....\app\build\intermediates\transforms\mergeJniLibs\debug\0\lib\armeabi\lib.so”。按原样打包。

然后所有设备,包括 64 位设备,选择“armeabi”库。

通过在 app\build.gradle 中设置 android.defaultConfig.ndk { abiFilters 'armeabi' },它也适用于 Gradle 7。

关于android - 如何在其他架构上使用 "armeabi".so 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71510146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com