请选择 进入手机版 | 继续访问电脑版
1234567下一页
返回列表 发新帖

[其他] 如何编译64位版本的Android应用

  [复制链接]
常山赵子云 发表于 2019-7-23 15:02:31
此前,为减小APK安装包大小,APICloud云编译默认只保留了armeabi或armeabi-v7a的so库。

自2019年8月1日起,Google Play要求APK必须包含64位so库,否则将被拒绝上架

2021新增:国内主流手机厂商的应用市场也于2021年4月发布了同样的要求,适配截止最早时间是2021年12月底

您的应用可通过在config中配置android_abi字段,支持编译64位so库到APK,以适配Google Play、小米、VIVO等应用市场政策。

一、如何操作:
1、config中配置:<preference name="android_abi" value="arm64-v8a"/>
2、提交config文件
3、重新云编译即可

编译后的apk包中将同时包含armeabi(32位或模拟64位)和arm64-v8a(64位)so库。

2022新增:

如果你的app希望仅编译 arm64-v8a(64位)排除32位,可在一的基础上:


1、下载附件中的 manifest.xml,并将其拷贝至你的项目 widget/res目录下,
2、往manifest.xml中新增节点:<application name="android_abi" value="arm64-v8a"/>
3、提交代码,重新云编译即可。

编译后的apk中将仅包含arm64-v8a(64位)so库(因2017年之前的一些第模块并非谷歌标准模块,必须进行一的操作,才能确保64位库被编译到apk中)。

注意:此操作须慎重,编译后需使用64位CPU手机做充分的测试。(华为,小米等较新上市的4/8核手机基本都是64位)
目前模块商店大部分的第三方SDK模块已完成64位版本so库的提供。如果你的app编译了64位版本,而对应的模块还未提供64位库,将导致app运行崩溃,如遇到该问题,请及时反馈,APICloud官方将优先协调对应的模块开发者进行升级。

关于manifest.xml的更多使用,请参考:
>APP动态权限及Android平台targetSdkVersion设置   
>如何解决“此应用专为旧版Android打造”问题   
>APP隐私政策实践

64条回复

sdcxccy 驾校小白 43Y币
https://www.apicloud.com/mod_detail/88295
我们使用rongCloud2 这个模块(使用的最新版),进行64位打包测试发现无法发送消息也无法接收消息,请问这个模块是否支持64位版本?
桔子贝壳 新手上路 87Y币
收到                              
马浩川 老司机 5594Y币
辉哥_0808 老司机 24465Y币
支持
backpack 马路杀手 925Y币
还不太敢动!不晓得支持的模块进度如何了?
tanjingwaini 职业车手 4727Y币
Mr.ZhouHeng 老司机 13001Y币
啦啦
Issac 转正司机 1806Y币
噢咖
angelshelter 半专业车手 1891Y币
可以迪哇。
backpack 马路杀手 925Y币
标记一下马上就用到了
1234567下一页
您需要登录后才可以回帖 登录

本版积分规则