Atlas插件调用so动态链接库报错libxxx.so is 32-bit instead of 64-bit解决

在64位的Android机器上,会有32位的虚拟机和64位的虚拟机,启动apk的时候,虚拟机会根据apk中的so的位数启动对应的虚拟机。

参考:https://github.com/singwhatiwanna/dynamic-load-apk/issues/113

错误原因:Atlas host中包含arm64-v8a架构的so库,因此app运行加载64位虚拟机,而Atlas bundle中默认加载的是32位so库

解决方案:设置Atlas host和bundle均默认只加载32位so库,通常只加载armeabi架构动态链接库即可

android.defaultConfig.ndk {
    abiFilters  "armeabi", /*'armeabi-v7a', "arm64-v8a", */'x86'
}

android.sourceSets {
    main {
        jniLibs.srcDirs = ['libs']
    }
}

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/18/atlas-plugin-called-so-dynamic-link-library-and-reported-an-error-libxxx-so-is-a-32-bit-install-of-64-bit/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Atlas插件调用so动态链接库报错libxxx.so is 32-bit instead of 64-bit解决
在64位的Android机器上,会有32位的虚拟机和64位的虚拟机,启动apk的时候,虚拟机会根据apk中的so的位数启动对应的虚拟机。 参考:https://github.com/singwha……
<<上一篇
下一篇>>
文章目录
关闭
目 录