我有一个目前在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命令检索我的密钥别名
16 回答
是的,您可以在Android Studio的任务工件中找到丢失的密钥 .
打开文件并使用您记住的密码部分进行搜索 .
如果没有,请使用此字符串“signingConfig.storePassword”进行搜索
注意:我遇到了同样的事情,我可以在上面的路径中找到它 . 如果您没有找到可能是您清除了所有缓存和临时文件 .
如果查看日志没有帮助,您也可以尝试强制密码 - 检查此帖子上的方法3 - Android KeyStore Password Recover .
这个SO post也有更多的答案 .
只需用记事本打开yourApp.jks文件就可以找到Keystore和别名!
要恢复KEY ALIAS . 在终端上键入以下命令 .
它将提供信息开始,
您可以在那里查找别名 .
只需用记事本打开密钥文件(.jks文件) . 您将在第一行获得别名...
我在下面的路径中找到了我的密钥密码
Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin
打开文件并使用您记住的密码部分进行搜索 . 你肯定会发现它 .另外,你可以参考这个答案stackoverflow.com/a/43007357/7089151
在Mac上,我在更新Android Studio之前在早期日志报告中找到了密钥库文件路径,密码,密钥别名和密钥密码 .
我启动了Console实用程序并向下滚动到〜/ Library / Logs - > AndroidStudioBeta - > idea.log.1(或任何旧的日志编号)
然后我搜索了“android.injected.signing.store”并从较早的日期发现了这个:
根据gkemp的答案,在Windows上,我在更新Android Studio之前在早期的日志报告中找到了密钥库文件路径,密码,密钥别名和密钥密码 .
从Windows文件浏览器c:/ Users /您的电脑名称/ .AndroidStudio1.4(您的Android工作室版本)\ system \ log \ idea.log.1(或任何旧的日志编号)
然后我搜索了“android.injected.signing.store”并从较早的日期发现了这个:
您可能想尝试使用此密码破解程序 .
http://maxcamillo.github.io/android-keystore-password-recover/index.html
我正在使用字典攻击方法 . 它对我有用,因为我能想到的密码只有几个组合 .
在Windows中 - 只需在记事本中打开密钥库文件,在第一行 - 您可以看到用英文字母书写的别名 .
您无法检索密码 . 如果你忘了它,你就注定了 .
但是你首先需要密钥库密码 .
EDIT
无法恢复密码 . 如果您忘记了密码密码,那么您也将注定失败,除了更加努力地回忆它之外别无他法 . 没有密码重置的东西,也没有类似的东西 .
请注意,如果您忘记了密码,那么您将不再向您的应用发送更新(docs):
在ubuntu中,我们可以从给定路径中找到与密钥库相关的所有密码 .
编辑文件并搜索
android.injected.signing.store
,然后您就可以找到密码了 .Recover your keystore password
100% working
Projects->taskHistory.bin
Find->KeyAlias
Note: 单击并查看我的图像供您参考
我终于可以解决这个问题了 .
To get the Key Alias: 我将keytool.exe和我的密钥库文件复制到C:\ Program中Files \ Java \ jdk1.7.0_71 \ bin文件夹 . 然后从命令提示符我写道:
keytool -list -v -keystore <name>.keystore
它还会询问密钥库密码 . 然后它会显示关键别名和证书指纹和其他信息 .然后我再次尝试为项目生成签名Apk,我提供了密钥库,密钥库密码,密钥别名并提供了相同的密码 . 然后它要求主密码,我尝试了同样的,它失败了 . 使用重置选项,我在此处重置主密码 .
您可以按照以下方式查找密钥库详细信息,而无需使用密码 .
在命令提示符中执行命令(
keytool -list -keystore <path>
)你可以在我的机器的java文件夹中找到Keytool,我可以找到以下路径
然后它会要求您输入密码,在这里您无需输入密码而不是按下向上箭头按钮并输入密码 . 然后将显示相同的详细信息,并显示警告消息,如下所示 .
Android Studio 3.0 below working method:
找到旧的压缩项目 .
如果你已经构建了apk,你会在文件中找到密码:
Pandroid.injected.signing.store.password =密码
如果您没有压缩项目,请检查您的git存储库是否已推送.gradle文件夹 .
否则,您必须按内容"Pandroid.injected.signing.store.password"恢复文件和搜索文件 .