欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
根据知识库内容,Google Play上架后卡在Splash页最常见的原因是Google Play应用签名证书变更导致AppKey验证失败。Google Play上架后会使用App Signing Certificate重新签名,而非你上传时使用的Upload Certificate,导致SHA1指纹变化。
解决方案
1. 更新AppKey的SHA1指纹(关键步骤)
进入 Google Play Console → 你的应用 → 发布 → 应用签名(App Signing)→ 找到 "应用签名证书"(App Signing Certificate):
- 复制其 SHA-1 指纹
- 登录 DCloud开发者中心 → 你的应用 → 离线打包Key管理
- 用Google Play的SHA1替换原来的SHA1,重新生成AppKey
- 将新的AppKey更新到
AndroidManifest.xml中:
<application>
<meta-data
android:name="dcloud_appkey"
android:value="新的AppKey" />
</application>
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
参考知识库:appkey常见问题
2. 检查离线打包基础配置
确保以下三要素与申请AppKey时完全一致:
- appid:检查
assets/data/dcloud_control.xml中的appid
- 包名:检查
build.gradle中的applicationId
- 签名:确保打包使用的是上传密钥(Upload Key),但AppKey配置的是应用签名证书(App Signing)的SHA1
3. 关闭AppKey在线验证(已配置但需确认位置)
你提供的配置需要放在正确的配置文件中。在assets/data/dcloud_control.xml中:
<hbuilder>
<apps>
<app appid="__UNI__F4CE60F" appver=""/>
<appkey>你的AppKey</appkey> <!-- 必须填写,不能留空 -->
</apps>
</hbuilder>
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
注意:checkappkey等运行时配置应在dcloud_properties.xml或manifest.json中配置,而非dcloud_control.xml。如果确实需要关闭验证,请确保使用的是HBuilderX 3.2.15+和对应的离线SDK版本。
4. Google Play特殊合规要求
根据知识库,卡在启动页还可能由以下合规问题导致:
移除安装APK功能(3.8.7+版本要求):
- 检查是否包含
install-apk-release.aar,Google Play不允许应用内下载安装APK
- 如果存在,请移除该aar文件
隐私弹窗配置:
必须使用template模式,且不能是自定义实现:
// androidPrivacy.json
{
"version": "1",
"prompt": "template",
"title": "服务协议和隐私政策",
"message": "..."
}
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
禁用敏感模块:
- 不要集成FCM推送、Google统计、Google登录等会提前获取Android ID的模块(除非已适配合规要求)
- 不要勾选
android.permission.INSTALL_PACKAGES权限
5. 版本匹配检查
务必确保:
- HBuilderX版本 ≥ 3.2.15(推荐3.6.1+)
- 离线SDK版本与HBuilderX版本匹配(下载对应日期的SDK)
- 本地打包资源必须使用相同版本的HBuilderX导出
6. 调试建议
如果上述步骤完成后仍卡在Splash页:
- 使用
adb logcat查看具体错误日志,搜索AppKey或dcloud关键字
- 检查是否有
unable to find valid certification path等SSL证书错误(Google Play要求targetSdkVersion≥30)
- 确认
assets/apps/__UNI__F4CE60F/www目录存在且包含app-service.js和manifest.json
参考文档: