谷歌市场(Google Play)上架的app安装包需要64位,且证书年限需要至少50年以上。要求HBuilderX2.1.5+
1、修改配置文件
依次点击“mainifest.json->App常用其他设置->支持CPU类型”,选择上armeabi-v7a、arm64-v8a两个类型。
对三种类型做一下简单介绍:
- armeabi-v7a:第7代及以上的ARM处理器(ARM32位),市面上大多数手机使用此CPU类型
- arm64-v8a:第8代、64位ARM处理器(ARM64位),最近两年新发的设备使用此CPU类型
- x86:少部分平板使用x86,as模拟器中选了intel x86时也是这种情况。(雷电夜神等三方模拟器模拟的是arm架构,不是x86)
参考文档:
Android平台配置支持的CPU类型(64位):https://ask.dcloud.net.cn/article/36195
2、云打包
依次点击“发行->原生App-云打包”,在渠道包中选择GooglePlay,生成谷歌可用的64位包,若不勾选或者选择其他渠道包则不能生成符合谷歌的安装包。
3、等待打包成功生成apk的包即可。
Google Play 上架
务必确保将HBulider X升级到3.2.15+
版本。离线打包需要将离线打包SDK升级到3.2.15+
版本
App提交云端打包时请务必勾选“GooglePlay(AAB)”渠道
Google Play上架审核要求比较严格,应用中不能存在以下行为:
- 不能直接下载apk方式安装应用,需引导用户到Google Play安装
- 不能存在动态加载代码行为
uni-app中部分功能模块不符合Google Play审核要求,请仔细阅读下面章节。
必须适配Android11
“App常用其它设置”中需要将targetSdkVersion设置值大于等于30
注意:务必在Android11设备上进行测试,确保应用所有功能可以正常运行
不能包含安装应用权限
在App权限配置中不要勾选 android.permission.INSTALL_PACKAGES、android.permission.REQUEST_INSTALL_PACKAGES 权限
离线打包:
- 更新SDK3.2.15+版本
- 请查看原生项目中的AndroidManifest.xml。如果包含以下权限请手动删除:
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
注意:如果使用了uni原生插件,可能会添加安装应用权限,请联系uni原生插件作者确认
不要使用QQ登录、QQ分享模块
使用QQ登录、分享功能时,如果当前设备上没有安装QQ应用时,会引导用户下载安装,不符合Google Play的审核要求,因此提交到Google Play时不要勾选QQ登录及QQ分享模块
离线打包:
请不要集成qq_mta-sdk-xxx.jar,qq_sdk_vxxx.jar等SDK。如果有请删除
不要使用国内增强广告SDK
uni-AD国内增强广告(如穿山甲、广点通、快手等SDK)显示的广告落地页可能会引导用户下载安装apk,不符合Google Play的审核要求,因此提交到Google Play时不要勾选增强广告SDK
注意:uni-AD 广告基础功能不受影响
离线打包:
请不要集成国内增强广告相关依赖库 ks_adsdk-ad.aar、windAd.aar、GDTSDK.unionNormal.aar,open_ad_sdk.aar,torch-adcore-xx.aar。如有请删除
不要使用X5内核
腾讯TBS(X5)内核在Android平台解决了很多适配问题(详情可参考:https://ask.dcloud.net.cn/article/36806),但它使用了动态热更新技术,不符合Google Play的审核要求,因此提交Google Play时不要勾选使用“Android X5 Webview(腾讯TBS)”模块
离线打包:
请不要集成X5相依赖库webview-x5-release.aar,如有请删除
其它相关问题
- Android App Bundle(AAB)格式相关说明:https://ask.dcloud.net.cn/article/39052
uni-app 提交 aab 版本到 Google Play 提示 API 级别过低的解决办法
发现问题
近日准备发布新版本上架到 Google Play 上时,突然出现了 Change your app’s target API level to at least 31 的提示。
在查阅相关资料后,得知 新应用必须以 Android 12(API 级别 31)或更高版本为目标平台;Wear OS 应用除外,此类应用必须以 Android 11(API 级别 30)或更高版本为目标平台。自 2023 年 1 月起,应用更新必须以 Android 12 或更高版本为目标平台,并针对 Android 12 中的行为变更进行调整;Wear OS 应用除外,此类应用必须以 Android 11 或更高版本为目标平台。
详情请看: 符合 Google Play 的目标 API 级别要求 。
解决问题
此时只需要将应用配置文件 manifest.json 中的 App常用其他设置 的 targetSdkVersion 设置成 31 ,然后重新提交到云打包,将打包好的 aab 再次去提交到 Google Play 就不会再报错了。
填好 App 必要信息,提交去审核,大概两个工作日左右就可以上架到 Google Play 了(前提是你的App不违规喔~)。