把「签名」「三方 SDK 指纹」「政策合规」「商店元数据」这四件容易互相牵连的事串成一条流水线,上架前逐项打勾即可。
一、签名准备
| 步骤 | 命令 / 位置 | 产出 |
|---|---|---|
| 生成 keystore | keytool -genkey -alias <别名> -keyalg RSA -keysize 2048 -validity 10000 -keystore app.jks | app.jks |
| 查看指纹 | keytool -v -list -keystore app.jks | MD5 / SHA1 / SHA-256 |
| 校验 APK 指纹 | keytool -printcert -file META-INF/CERT.RSA | 与 keystore 一致即通过 |
| 上传密钥加密 | java -jar pepk.jar --keystore=app.jks --alias=<别名> --output=output.zip --include-cert --encryptionkey=<公钥> | 提交给 Play 的 zip |
命令细节见 keytool 签名证书操作手册。
二、处理 Google Play 重签名
Play 会对上传产物重新签名,凡是依赖签名指纹的 SDK 都要换成商店证书指纹:
-
Play Console → Setup → App integrity → App signing → 下载
deployment_cert.der; -
合并进本地签名文件:
keytool -import -file deployment_cert.der -keystore app.jks keytool -list -v -keystore app.jks # 确认新增别名与 MD5 -
计算并登记 Facebook KeyHash:
keytool -exportcert -alias <新别名> -keystore app.jks | openssl sha1 -binary | openssl base64
完整推导见 兼容 Google Play 的应用签名 与 Facebook KeyHash 问题。
三、政策合规自检
- 应用有实际功能,可正常安装、加载、响应(最低功能要求)
- 敏感权限(短信/通话记录、位置、所有文件访问、包可见性、可访问性 API、安装请求)均已说明用途
- 无版权、商标侵权,无伪造内容(知识产权)
- 非纯广告应用、非重复内容、非 WebView 套壳
- 内容不涉及色情、仇恨言论、无端暴力、敏感事件、欺凌、危险品、大麻、烟草酒精违规
- 数据安全表单如实声明收集与共享的用户数据
四、商店元数据自检
- 标题与描述准确描述功能,无未署名/匿名赞誉
- 不与其他应用比较,不提无关产品
- 无关键词堆砌、无全大写、无特殊字符与颜文字
- 截图与视频适合一般受众
规范细节见 商店元数据规范。
五、发布后
- 被拒:修改后重新提交,商店保留上一版;
- 被移除:提交合规更新后可恢复用户数、评分与统计;
- 被暂停:失去用户与评分,账号信誉良好时可用新包名重新发布。