目前从生成apk到上线的流程是这样的:(ps:最新版本乐加固加固完后不用手动签名了,直接可以在客户端勾选)
1.生成releaseapk–androidstudio生成的时候注意勾选v1和v2,注意如果是更新apk的话,versioncode和versionname都要改一下
2.apk加固–我用的是360加固或者乐加固(在腾讯的应用宝上线最好是乐加固),注意的是从这两个工具加固后的apk不能直接上传到应用市场,因为此时的apk没有v2签名,可以用这个工具查看:
https://github.com/bihe0832/Android-GetAPKInfo/blob/master/GetApkInfo.jar
具体查看步骤:
2.1:用命令行进入GetApkInfo.jar文件目录 如cd /Users/xxxx/GetApkInfo.jar,为了方便起见,我们将加固后的apk如(my.apk)放在和该jar同一个目录下,然后执行
java -jar GetApkInfo.jar my.apk
检查是否有v2签名,显然这个时候没有,会显示如下图:
3.手动进行二次加固
进入本地的sdk目录 cd /Users/xxxx/sdk/build-tools/27.0.3/lib
执行签名操作:
java -jar apksigner.jar sign --ks /Users/xxxx/Desktop/key.jks --ks-key-alias test --ks-pass pass:123456 --key-pass pass:123456 --out /Users/xxxx/Desktop/签名后的安装包.apk /Users/xxxx/Desktop/需要进行签名的安装包.apk
上面的命令会执行同时执行v1,v2签名
注意仔细看上的命令行:进了黑色加粗的文字需要替换成实际的信息
第一个加粗的是秘钥的路径
第二个是秘钥的别名
第三个是秘钥的密码
第四个是秘钥的密码
第五个是进行了签名的安装包保存的路径
第六个是需要进行签名的安装包路径
我这边为了方便直接将apk复制到lib目录下,
java -jar apksigner.jar sign --ks D:/liwenpeng/文档/Android交接文档/交通在手/签名文件/yxw20130715 --ks-key-alias uroad --ks-pass pass:uroadyxw --key-pass pass:uroadyxw --out new.apk App-release_legu_signed_zipalign.apk
4.然后再检查下是否签名了,成功的话:
5.上传到应用市场即可