上传apk应用后,谷歌后台会为我们的应用生成新的签名,最终以谷歌的签名为准,原来我们自定义的签名会失效了。特别有些sdk需要在后台登记签名,上线后发现sdk用不了,也是新签名变动引起。这时需要填写google的新签名,当然也可填写多个签名,把原签名和Google的签名同时登记,方便我们调试和测试。
2. 查看变动的新签名进入谷歌管理后台,在左侧的菜单中,点击所有应用程序,然后选择对应的apk应用程序,此时界面会刷新,在左侧菜单中点击设定–>应用程序完整性,打开Play应用程序签署页面。
在Play应用程序签署页面,上端部份是谷歌的签名信息,包括MD5,Sha1,SHA256等信息,下面的是我们apk原来自定义的签名。右侧有个下载凭证的按钮,可以把它下载在本地,文件名称为deployment_cert.der,该凭证通过命令可获取到sha1的base64值,也可以生成jks签名,方便我们测试。
3. 生成谷歌签名的base64字符签名的base64字符常用于信息登记,点击右侧的下载凭证,把文件下载在本地,通过以下指令
openssl sha1 -binary deployment_cert.der | openssl base64
输出的base64字符如下:
R6CGZ2yaabcdyF8RDHSRY69tAQY=
由于google为我们生成新的签名,有时需要测试支付或者其它功能,自己打的包和play商店的包不一致,我们可以通过凭证生成新的jks签名文件的方法解决,当然该方法只用于调试和测试。
命令:
keytool -importcert -alias YOUR_ALIAS -file deployment_cert.der -keystore certificate.jks -storepass YOUR_PASSWORD
上面的命令把deployment_cert.der转成certificate.jks,YOUR_ALIAS为新的名别,YOUR_PASSWORD是新的密码,注意填写正确。输入命令后,会询问 是否信任此证书,输入“是”,最终生成 certificate.jks签名文件。后面就可使用新的签名文件进行打包



