我有一个目前在Google Play上发布的Android应用,我会定期更新.我按照以下流程在新推送之前签署应用程序:
在项目上按鼠标右键,"Android工具" - >导出已签名的应用程序包提供密钥库密码签署您的应用程序将apk文件上传到Google Play开发者控制台
最近我将项目从Eclipse导入到Android Studio并继续在Android Studio上工作.现在我打算在应用程序中推送一个修复程序.我想我有这个选项在android studio中签名apk
构建 - >生成签名的apk - >
根据我的理解,对于我的Android应用程序,我必须使用我之前用于将更新推送到Google Play的相同密钥库和密钥库密码.此外,它还要求密钥别名和密钥密码.在Eclipse中签名apk时,我不记得密钥别名和密钥密码(图像中的数字4输入).有什么建议我现在能做什么?如果我已经知道我的密钥库和密钥库密码,有没有办法检索密钥别名和别名密钥密码?
更新:现在我可以通过keytool -list -v -keystore name.keystore命令检索我的密钥别名
1> 小智..:
在Mac上,我在更新Android Studio之前在早期日志报告中找到了密钥库文件路径,密码,密钥别名和密钥密码.
我启动了Console实用程序并向下滚动到〜/ Library/Logs - > AndroidStudioBeta - > idea.log.1(或任何旧的日志编号)
然后我搜索了"android.injected.signing.store"并从较早的日期发现了这个:
-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks,
-Pandroid.injected.signing.store.password=mystorepassword,
-Pandroid.injected.signing.key.alias=myandroidkey,
-Pandroid.injected.signing.key.password=mykeypassword,
你是个上帝.如果你在Windows上,那么转到`.AndroidStudioX.X(xx是版本号,例如1.5)> system> log> idea`
哇!你救了我的一天,我的月和我的一年!太棒了!:)但在我的情况下(Android 2.2),密码显示为:********.在Windows`C:\ Users\yourUser\.Android2.2\system\log\idea.log.1`上
你救了我!:)
@ Error404密码显示在第一个*****部分的下方.它在Android 2.2上与我合作
不幸的是,它不适用于Windows和Android Studio 3.3。用********隐藏的密码
你救了我的命!
2> MSIslam..:
我终于可以解决这个问题了.
获取密钥别名:我将keytool.exe和我的密钥库文件复制到C:\ Program Files\Java\jdk1.7.0_71\bin文件夹中.然后从命令提示符我写道:keytool -list -v -keystore .keystore
它还会询问密钥库密码.然后它会显示关键别名和证书指纹和其他信息.
然后我再次尝试为项目生成签名Apk,我提供了密钥库,密钥库密码,密钥别名并提供了相同的密码.然后它要求主密码,我尝试了同样的,它失败了.使用重置选项,我在此处重置主密码.
3> Marcin Orlow..:
如何检索密钥库密码
您无法检索密码.如果你忘了它,你就注定了.
如何检索密钥别名
$ keytool -list -v -keystore
但是你首先需要密钥库密码.
编辑
我不记得的是'密码'
无法恢复密码.如果您忘记了密码密码,那么您也注定要失败,除了更加努力地回忆它之外别无他法.没有密码重置的东西,也没有类似的东西.
请注意,如果您忘记了密码,那么您将不再对您的应用程序发出更新(docs):
警告:将密钥库和私钥保存在安全可靠的位置,并确保对其进行安全备份.如果您将应用发布到Google Play,然后丢失了用于对应用进行签名的密钥,那么您将无法向应用发布任何更新,因为您必须始终使用相同的密钥对应用的所有版本进行签名.
我记得密钥库密码.我也有密钥库,现在我记得Key Alias.我不记得的是"密码"(图中的数字4框).
4> Lucky Rana..:
在Windows中 - 只需在记事本中打开密钥库文件,在第一行 - 您可以看到用英文字母书写的别名.
在Mac上,您可以使用TextEdit执行此操作
5> 小智..:
根据gkemp的答案,在Windows上,我在更新Android Studio之前在早期的日志报告中找到了密钥库文件路径,密码,密钥别名和密钥密码.
从Windows文件浏览器c:/用户/您的电脑名称/ .AndroidStudio1.4(您的Android工作室版本)\ system\log\idea.log.1(或任何旧的日志编号)
然后我搜索了"android.injected.signing.store"并从较早的日期发现了这个:
-Pandroid.injected.signing.store.file= path to your keystore
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword
6> 小智..:
在ubuntu中,我们可以从给定路径中找到与密钥库相关的所有密码.
/home/user/.AndroidStudio2.2(current version)/system/log/idea.log.x(older versions)
编辑文件并搜索android.injected.signing.store
,然后就可以找到密码了.
-Pandroid.injected.signing.store.file= path to your keystore
-Pandroid.injected.signing.store.password=yourstorepassword
-Pandroid.injected.signing.key.alias=yourkeyalias
-Pandroid.injected.signing.key.password=yourkeypassword
是的,它也适用于Studio 2.3.
谢谢......工作了!
7> thatzprem..:
要恢复KEY ALIAS.在终端上键入以下命令.
$ keytool -list -v -keystore
它将提供信息开始,
您的密钥库包含2个条目...
您可以在那里查找别名.
8> shyam..:
恢复您的密钥库密码
100%工作
Projects->taskHistory.bin
Find->KeyAlias
注意:单击并查看我的图像以供参考
9> Maharshi Adi..:
我在下面的路径中找到了我的密钥密码
Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin
打开文件并使用您记住的密码部分进行搜索.你肯定会发现它.
此外,您可以参考此答案stackoverflow.com/a/43007357/7089151
10> 小智..:
是的,您可以在Android Studio的任务工件中找到丢失的密钥。
Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin
对于更新版本的android studio,路径为:
Project\.gradle\5.1.1\executionHistory\executionHistory.bin
打开文件,然后使用您记得的一部分密码进行搜索。
示例(将在该bin文件中):
signingConfig.keyAlias?"key name"?signingConfig.keyPassword?"key password"?signingConfig.storePassword?"Store Password"?
您可以使用此字符串“ signingConfig.storePassword”或示例字符串中提供的任何字符串进行搜索
注意:我也经历过同样的事情,并且可以在上述路径中找到它。如果找不到,则清除所有缓存和临时文件。
11> Varun..:
如果在日志中查找无济于事,您还可以尝试暴力破解此密码-Android KeyStore密码恢复中的密码检查方法3 。
该SO帖子还有更多答案。
12> 小智..:
只需使用notepad ++打开密钥文件(.jks文件)。您将在第一行中获得别名...
13> 小智..:
您可以按以下方式查找密钥库详细信息,而无需使用密码。
keytool -list -keystore
在命令提示符下执行命令()
您可以在我的机器的java文件夹中找到Keytool,可以从以下路径找到它
C:\Program Files (x86)\Java\jdk1.7.0_71\bin> keytool -list -keystore C:\.Keystore
然后,它将要求您输入密码,在这里您不需要输入密码,而只需按向上箭头按钮并输入。然后将显示以下相同的详细信息和警告消息。
*****************警告警告警告*****************
存储在密钥库中的信息的完整性*
尚未验证!为了验证其完整性,*
您必须提供密钥库密码。*
*****************警告警告警告*****************
密钥库类型:JKS密钥库提供者:SUN
您的密钥库包含1个条目
samplekey,2017年4月26日,PrivateKeyEntry,证书指纹(SHA1):XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX :XX:XX