如何为旧APK添加App Signature Scheme v2签名无需迁移至Android Studio?
不需要迁移到Android Studio,也不需要生成新的keystore,v2签名是APK的签名算法规则,和你现有keystore的格式无关,使用原有旧keystore配合Android官方的签名工具即可满足Google Play的要求,具体操作如下:
前置准备
- 先在Eclipse项目的
AndroidManifest.xml文件中,将android:targetSdkVersion属性值修改为30,正常构建导出未签名的APK安装包 - 获取Android SDK build-tools 24.0.3及以上版本,不需要安装Android Studio,单独下载对应版本的build-tools压缩包解压即可使用,里面包含需要的
zipalign和apksigner工具
操作步骤
1. 清除原有签名(仅当你导出的是已经用旧v1方案签名的APK时需要执行)
将导出的APK文件修改后缀为zip后解压,删除根目录下的META-INF文件夹,再将所有文件重新压缩为zip包,改回.apk后缀即可。
2. 对齐APK文件
使用build-tools中的zipalign工具对APK做对齐处理,命令如下:zipalign -v -p 4 待对齐的APK路径 对齐后输出的APK路径
3. 同时签署v1和v2签名
使用apksigner工具,用你原有的旧keystore完成签名,命令如下:
apksigner sign --ks 你的旧keystore文件路径 --ks-key-alias keystore的别名 --out 签名完成的输出APK路径 对齐后的APK路径
执行命令后按提示输入keystore密码、别名密码即可,工具默认会同时开启v1和v2签名,兼容Android 7.0以下的旧系统,同时满足Google Play的v2签名要求。
4. 验证签名结果
执行以下命令验证签名是否符合要求:apksigner verify -v 签名完成的APK路径
输出结果中同时出现Verified using v1 scheme (JAR signing): true和Verified using v2 scheme (APK Signature Scheme v2): true即为签名成功。
注意事项
- 原有keystore的所有信息不需要做任何修改,签名后和原有应用的签名完全一致,不会影响Google Play的更新提交
- 不需要修改Eclipse ADT的原有构建流程,每次导出APK后单独执行上述签名步骤即可
内容的提问来源于stack exchange,提问作者Johan
相关产品推荐
相关产品推荐

