快速结论:Android release 产物必须 zipalign、使用正确签名 scheme,并在分发前完成签名验证。
开发者常问的问题
- APK 应该使用哪些签名 scheme?
- zipalign 是什么,为什么重要?
- 发布前如何验证 APK 签名?
签名概念
APK 签名证明应用身份,影响安装、升级和商店审核。zipalign 则优化 APK 中未压缩数据的对齐方式,通常应在签名前完成。
手动流程
先执行 zipalign,再使用 apksigner sign,并通过 apksigner verify --verbose 检查 v1/v2/v3/v4 scheme、证书指纹和完整性。
发布前检查
确认签名证书、alias、scheme、versionCode、debuggable、minify 状态和目标渠道要求。升级安装测试尤其能暴露签名不一致问题。
常见错误
常见错误包括签名前后顺序错、debug keystore 混入、密码泄露、只验证能安装不验证 scheme,以及更换证书导致用户无法升级。
ADB Pro 如何帮助
Signing Tools 可以读取签名配置、执行 zipalign、签名和验证;AAB Tools 安装测试会复用签名配置;Release Readiness 会提醒签名身份风险。
FAQ:应该使用 v1、v2 还是 v3?
现代 Android 通常至少需要关注 v2/v3;是否保留 v1 取决于最低支持 Android 版本和分发渠道要求。
FAQ:zipalign 仍然必要吗?
是的,尤其对直接分发 APK 的流程。它应在 apksigner 签名前完成。
FAQ:密码能存在 Gradle 文件里吗?
不建议。使用环境变量、本地安全配置或 CI secrets 更合适。
相关指南
Release Signing Guide、AAB Tools 安装指南和 Release Readiness Checklist 可以覆盖签名全流程。