Ron*_*ald 46 android keytool apk google-play android-app-signing
我正在尝试了解如何在使用Google Play App Signing时将应用上传到Google Play.
这是我做的:
它抱怨证书不是证书
将新APK上传到制作
上传失败您上传了未使用上传证书签名的APK.您必须使用相同的证书.上传证书有指纹:[SHA1:0C:...],用于签署您上传的APK的证书有指纹:[SHA1:2D:...]
搜索了一会儿之后.我找到了如何将认证发布到我的密钥库中的Google Play控制台上.像这样的东西:
keytool.exe -importcert -file upload.pem -keystore myapp-release-key.keystore
证书似乎在.当我列出密钥库的内容时,这是我得到的:
keytool.exe -list -keystore trackcoachfull-release-key.keystore输入密钥库密码:
密钥库类型:JKS密钥库提供商:SUN
您的密钥库包含2个条目
myappfull,2017年5月18日,PrivateKeyEntry,证书指纹(SHA1):2D:... uploadkey,2017年5月19日,trustedCertEntry,证书指纹(SHA1):0C:...
现在,我被封锁的地方......
在Android Studio中,我尝试使用uploadkey生成已签名的APK.
构建>生成签名APK选择上面的密钥库输入密钥库密码选择uploadkey作为密钥别名我强制输入密钥密码.
Android Studio中出错:
错误:任务':app:packageFullRelease'的执行失败.
com.android.ide.common.signing.KeytoolException:无法从商店"C:\ Users\Admin\AndroidStudioProjects\keystores\myappfull-release-key.keystore"读取密钥uploadkey:受信任的证书条目未受密码保护
我的问题是:
如何生成使用Google Play提供的上传密钥签名的APK?
谢谢
Aya*_*lam 54
我可以使用Google Play提供的上传密钥对我的APK进行签名.以下是我为新应用程序执行的步骤:
keytool.exe -importcert -file upload_cert.der -keystore <keystorefile>这里要注意的重点是,在步骤(6)中,keytool导入使用从Google Play下载的证书更新原始证书.
zac*_*nos 25
您无法在Google Play控制台中使用上传证书对APK进行签名.
希望这个答案可以防止其他人浪费尽可能多的时间,因为我试图找到一个不存在的解决方案.
Google Play支持文章管理您的应用签名密钥包含了解此信息所需的信息.
从" 键的类型和重要定义 "部分:
- 上传密钥(现有应用程序的可选项):您在注册程序时生成的新密钥.在将所有APK上传到Play控制台之前,您将使用上传密钥对所有未来的APK进行签名.
- 私钥:对于APK签名,这是用于签署APK的密钥.私钥必须保密.
- 公钥:对于APK签名,这是用于验证APK签名的密钥.每个人都可以看到公钥.
- 证书:证书包含公钥以及关于谁拥有密钥的一些额外识别信息.
然后,请注意,在Google Play控制台中,您只能下载上传证书(而非上传密钥).根据上述定义,我们可以得出结论:
作为进一步的证据,这个其他SO问题(Android签名错误:受信任的证书条目没有受密码保护)解决了同样的问题,但由于它没有引用上传密钥/证书,因此很容易错过这个问题的含义 - - 您无法从Google Play下载任何内容即可解决此问题.
虽然有些人报告说可以使用从Google Play下载的上传证书来签署您的APK,但我相信他们误解了所发生的事情.请注意,通常这些报告表明您必须将证书导入用于生成密钥的原始密钥库.事实上,当他们认为他们正在导入签署APK所需的(私人)密钥时,他们实际上只是导入公钥并覆盖密钥对的公共一半 - 使用在证书中导出的相同公钥.首先.
如果他们尝试使用该别名签署APK而不执行导入过程,那么它也可以正常工作.(导入对他们没有任何改变.)这就是导入仅在与原始密钥库一起使用时才有效,而不是与新密钥库一起使用.
这取决于你的情况.由于目标是签署APK并成功将其上传到Google:
keytool然后将其导入密钥库,并且仍然具有原始生成的文件,则可以使用第一次使用的任何进程将私钥再次导入到其他密钥库中.我认为您必须从“java\bin”文件夹中生成这样的密钥库:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Run Code Online (Sandbox Code Playgroud)
当您想要更新您的应用程序时,您必须使用您生成的相同密钥库。
转到“构建”>“生成签名的 APK”。
选择“选择现有”并浏览到您的密钥库路径
输入“密钥库密码”
在密钥别名中点击“...”并检查您的密钥别名是否与生成密钥库时提供的别名相同
如果是,请再次提供“密钥密码”
点击“下一步”
让我知道您在哪一步遇到问题,以便我可以相应地指导您。
| 归档时间: |
|
| 查看次数: |
38022 次 |
| 最近记录: |