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

我有一个目前在Google Play上发布的Android应用程序,我定期进行更新。 我按照以下过程在新的推送之前签署应用程序:

在项目上按下鼠标右键,select“安卓工具” – >导出已签名的应用程序包提供密钥库密码签署您的应用程序将apkfile upload到Google Play开发者控制台

最近我已经从Eclipse导入项目到Android Studio,并继续在Android Studio上工作。 现在我正计划在应用程序中推送一个修复程序。 我曾经想过,我有这个选项来签署apk工作室的工作室

生成 – >生成签名apk – > 在这里输入图像说明

根据我的理解,对于我的Android应用程序,我必须使用之前用于将更新推送到Google Play的相同密钥存储库和密钥存储区密码。 这里也是要求密钥别名和密码。 在Eclipse中签署apk时,我不记得密钥别名和密钥密码(图像中的数字4input)。 任何build议我现在可以做什么? 如果我已经知道我的密钥库和密钥库密码,是否有办法检索密钥别名和别名密钥的密码?

更新:现在我可以通过keytool -list -v -keystore name.keystore命令来检索我的密钥别名

在Mac上,在更新Android Studio之前,我在早期的日志报告中find了密钥库文件path,密码,密钥别名和密钥密码。

我启动了控制台实用程序,并向下滚动到〜/ Library / Logs – > AndroidStudioBeta – > idea.log.1(或任何旧的日志编号)

然后我search“android.injected.signing.store”,并从更早的date发现:

 -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, 

我终于可以找出问题了。

获取密钥别名:我将keytool.exe和密钥库文件复制到C:\ Program Files \ Java \ jdk1.7.0_71 \ bin文件夹中。 然后从命令提示符我写道: keytool -list -v -keystore <name>.keystore它也会要求keystore密码。 然后它会显示您的密钥别名和证书指纹和其他信息。

然后我再次尝试为项目生成签名的Apk,我提供了密钥库,密钥库密码,密钥别名并提供了相同的密码。 然后它要求主密码,我尝试了相同的,它失败了。 使用重置选项,我在此重置主密码。

如何检索密钥库密码

您无法检索密码。 如果你忘记了,你注定要失败。

如何检索密钥别名

 $ keytool -list -v -keystore <store> 

但是您首先需要密钥存储密码。

编辑

我不记得的是“密码密码”

没有密码可以恢复。 如果你忘记了密码密码,那么你也注定要失败了,除了试图更难回忆它之外别无他法。 没有密码重置的东西,也没有类似的东西。

请注意,如果您忘记了密码,那么您将不会再向您的应用发布更新( 文档 ):

警告:请将密钥库和专用密钥放在安全可靠的地方,并确保您有安全的备份。 如果您将应用发布到Google Play,然后失去了签名应用的密钥,那么您将无法发布任何应用更新,因为您必须始终使用相同的密钥对应用的所有版本进行签名。

基于gkemp回答,在Windows上,我在更新Android Studio之前在早期的日志报告中find了密钥库文件path,密码,密钥别名和密钥密码。

从Windows文件浏览器C:/用户/您的电脑名称/ .AndroidStudio1.4(您的Android工作室版本)\系统\日志\ idea.log.1(或任何旧的日志号)

然后我search“android.injected.signing.store”,并从更早的date发现:

 -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 

在Windows中 – 只需在记事本中打开密钥库文件,在第一行中就可以看到用英文字母书写的别名。

在Ubuntu中,我们可以从给定的path中find与keystore相关的所有密码。

 /home/user/.AndroidStudio2.2(current version)/system/log/idea.log.x(older versions) 

编辑文件并searchandroid.injected.signing.store ,然后你可以find密码。

 -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 

如果查看日志没有帮助,你也可以尝试蛮力的密码 – 检查方法3在这篇文章 – Android的KeyStore密码恢复 。

这个SOpost也有更多的答案。

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

我在下面的path中find了我的密钥

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

您可以按照以下方式find您的密钥库详细信息,而不使用密码。

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

你可以在我的机器上的Java文件夹中findKeytool,我可以从下面的pathfind它

 C:\Program Files (x86)\Java\jdk1.7.0_71\bin> keytool -list -keystore C:\<YourKeystore>.Keystore 

然后它会要求你input密码,在这里你不需要input密码,而不是按下箭头键input密码。 那么相同的细节将会显示如下警告信息。

*****************警告警告警告*****************

  • 存储在密钥库中的信息的完整性*

  • 尚未validation! 为了validation其完整性,*

  • 您必须提供您的密钥库密码。 *

*****************警告警告警告*****************

密钥库types:JKS密钥库提供者:SUN

您的密钥库包含1个条目

(SHA1):XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX XX:XX XX:XX XX :XX:XX

只需用记事本打开你的App.jks文件,你会发现密钥库和别名!