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']
    }
}
上一篇 Atlas插件Bundle间的通信方式RemoteTransactor、RemoteView、RemoteFragment
下一篇 Atlas配置bundle打包产物至assets目录
目录
文章列表
1 AWS ACM 导入证书
AWS ACM 导入证书
2
Spring Boot集成XStream转换器:处理xml节点中既有属性又有值
Spring Boot集成XStream转换器:处理xml节点中既有属性又有值
3
BigDecimal比较相等,不能用equals,要用compareTo
BigDecimal比较相等,不能用equals,要用compareTo
4
Flutter Widget之TabBar与TabBarView
Flutter Widget之TabBar与TabBarView
5
阿里巴巴开源 MySQL同步组件Canal
阿里巴巴开源 MySQL同步组件Canal
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。