如何在android studio中检索签名APK的密钥别名和密钥密码(从Eclipse迁移)

问题描述 投票:66回答:18

我有一个目前在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命令检索我的密钥别名

android android-studio apk signing
18个回答
5
投票

如果查看日志没有帮助,您也可以尝试强制密码 - 检查此帖子上的方法3 - Android KeyStore Password Recover

这个SO post也有更多的答案。


4
投票

只需用记事本++打开密钥文件(.jks文件)。您将在第一行获得别名...


4
投票

是的,您可以在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”或示例字符串中给出的任何字符串进行搜索

注意:我经历过同样的事情,我能够在上面的路径中找到它。如果您没有找到可能是您清除了所有缓存和临时文件。


3
投票

您可以按照以下方式查找密钥库详细信息,而无需使用密码。

在命令提示符下执行命令(keytool -list -keystore <path>

您可以在我的机器中的java文件夹中找到Keytool,我可以找到以下路径

C:\Program Files (x86)\Java\jdk1.7.0_71\bin> keytool -list -keystore C:\<YourKeystore>.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


2
投票

只需用记事本打开yourApp.jks文件就可以找到Keystore和别名!


1
投票

如果您碰巧在MacOS上并选中了Android Studio中的“保存密码”框,则可以从Keychain Access恢复密码。

  1. 从Applications / Utilities启动Keychain Access。
  2. 在左侧面板的“类别”中选择密码。
  3. 在右上角的搜索框中,输入您的Android应用名称或部分应用名称。
  4. 如果您已保存密码,您将看到结果行。
  5. 双击它,检查显示密码复选框,在询问时提供系统密码,它将显示您的密钥库密码。

0
投票

您可能想尝试使用此密码破解程序。

http://maxcamillo.github.io/android-keystore-password-recover/index.html

我正在使用字典攻击方法。它对我有用,因为我能想到的密码只有几个组合。


0
投票

Android Studio 3.0下面的工作方法: 找到旧的压缩项目。 如果你已经构建了apk,你会在文件中找到密码:

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

Pandroid.injected.signing.store.password =密码

如果您没有压缩项目,请检查您的git存储库是否已推送.gradle文件夹。 否则,您必须按内容“Pandroid.injected.signing.store.password”恢复文件和搜索文件。


0
投票

在任何情况下,您都会对您的密码感到困惑。您可以使用点击和试用。它会询问您的密码。如果正确,它会显示清单。

  • 项目清单

$ keytool -list -v -keystore filename


9
投票

要恢复KEY ALIAS。在终端上键入以下命令。

$ keytool -list -v -keystore <storekey>

它将提供信息开始,

您的密钥库包含2个条目...

您可以在那里查找别名。


8
投票

恢复密钥库密码

100%工作

Projects->taskHistory.bin

enter image description here

Find->KeyAlias

enter image description here

注意:单击并查看我的图像供您参考

Now for updated android studio task history has been changed to execution history[!


7
投票

我在下面的路径中找到了我的密钥密码

Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin打开文件并使用您记住的部分密码进行搜索。你肯定会发现它。

另外,你可以参考这个答案stackoverflow.com/a/43007357/7089151

© www.soinside.com 2019 - 2024. All rights reserved.