我在Play商店创建了一个测试应用,以测试Google Play Signing功能.一旦我创建了测试应用程序并启用了该功能,我就可以访问"部署证书".我没有下载或以任何方式使用它.以下是我遵循的步骤:
keytool.exe -importcert -file upload.der -keystore
mykeystore.keystorekeytool.exe -list -keystore mykeystore.keystore.现在有两个别名,在步骤3中添加了一个新别名(名为mykey).它是可信证书类型.现在由于"受信任的证书条目没有密码保护",没有别名密码,Android Studio不允许我签署应用程序,当然我不能使用随机密码,因为它们"没有密码保护".如何使用它来签署我的apk以便将来更新?我错过了一些关键的东西,或者我的理解是不正确的?
有证书签署android unsigned release apk文件,所以我使用命令导入了cer:
keytool -import -alias alias_name -file cer_name.cer -storepass changeit -keystore my_keystore.keystore
Run Code Online (Sandbox Code Playgroud)
但是当用android studio签署应用程序时,它会产生错误:
Error:Execution failed for task ':packageDebug'.
> com.android.ide.common.signing.KeytoolException: Failed to read key alias_name from store "C:\Users\username\my_keystore.keystore": trusted certificate entries are not password-protected
Run Code Online (Sandbox Code Playgroud)
我的扣除说,因为密钥没有密码保护所以我再次尝试并使用以下方法设置密钥密码:
keytool -import -alias alias_name -file cer_name.cer -storepass changeit -keypass changeit -keystore my_keystore.keystore
Run Code Online (Sandbox Code Playgroud)
但仍然存在错误.
我也尝试过与jarsigner的手动程序:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my_keystore.keystore unsigned-release.apk alias_name
Run Code Online (Sandbox Code Playgroud)
得到错误:
jarsigner: Certificate chain not found for: alias_name. alias_name must reference a valid KeyStore key entry containing a …Run Code Online (Sandbox Code Playgroud) 将der文件导入密钥存储区后,如下所示
keytool -keystore my-release-key.keystore -importcert
-file ~/Downloads/upload_cert.der -alias uploadcert
Run Code Online (Sandbox Code Playgroud)
尝试组合发布APK时出错
trusted certificate entries are not password-protected
Run Code Online (Sandbox Code Playgroud)
如果我加
-protected
Run Code Online (Sandbox Code Playgroud)
对于进口,我说
keytool error: java.lang.IllegalArgumentException: password can't be null
Run Code Online (Sandbox Code Playgroud)
如果我在保护后传递密码,我会收到使用帮助消息.不知道如何传递密码.
如果我正在使用谷歌上传证书文件签署正确的道路,我是否有任何想法?
我要替换以前由其他开发人员维护的客户端Google Play帐户上的Android应用。
我要处理以下事项:
BEGIN PRIVATE KEY块的PEM文件不幸的是,我似乎没有任何明确的方法来创建密钥库来对应用进行签名以进行上传,而Google文档就是Google文档。
无法从以前的开发人员那里获得更多信息。
我已经尝试了很多方法,其中最有前途的是keystore -importcert然后-changealias,但是这使我对以下错误有所了解:
com.android.ide.common.signing.KeytoolException: Failed to read key [the name of the key] from store "[the keystore].keystore": trusted certificate entries are not password-protected
因此,目前我对如何上传新应用程序一无所知,我正在寻找某种解决方案。
使用Google Play提供的上传密钥对APK进行签名的问题似乎已经接近解决,但是它永远无法解决如何处理私钥的问题。