【问题标题】:Locating the release keystore for an old android application on a dev machine在开发机器上找到旧 android 应用程序的发布密钥库
【发布时间】:2017-08-21 22:04:44
【问题描述】:

我需要找到 4 多年前的 Android 应用的发布签名密钥。我有代码库,还有上次开发的 MBP,但是开发它的人非常杂乱无章。

我有多个名为 /proj、/proj2、/desktop_proj、/old/proj 的目录...每个目录中有 2-3 个 apk。源代码控制是一个类似的混乱。

我不知道他们在这个项目上使用什么 IDE。我在这台旧机器上安装了 IntelliJ、Eclipse 和 Android Studio。我可以搜索所有这些,但我不知道在哪里找。

我进行了查找,但没有一个密钥库(.jks 或 .keystore)真正匹配。

基本上,我正在考虑另辟蹊径——从 google play 获取当前发布的 apk 并查看其上的密钥库。

keytool -list -printcert -jarfile super-old-app__release.apk

然后,我可以...做一些事情...找到用于创建签名构建的密钥的实际名称。虽然现在想起来,我不知道密码。

不管怎样,一旦我拿到真正的钥匙,也许我能找到。有人可能有什么建议吗?

【问题讨论】:

    标签: android google-play android-keystore jks


    【解决方案1】:

    如果您知道应用程序中使用的别名,您可以反向搜索所有文件(搜索 .JKS 或 .keystore 或不带扩展名)。

    编写一个以文件名为输入参数运行的全盘搜索批处理程序

    keytool -list -keystore XXX.XXX -alias **YOURAPPAliasname** 
    

    将上述批处理程序的输出写入文件。除一个以外的所有文件都应返回 java.lang.Exception:别名不存在或格式不正确。

    您可以修改上述批处理程序以额外找到与签名密钥匹配的密钥签名。请参阅此链接中提供的解决方案 - How do I find out which keystore was used to sign an app?

    【讨论】:

    • 对,但我不知道使用的别名。我只有原开发者的电脑和商店的apk。
    • @warpedspeed - 更新了我的答案。从已发布的 apk 中获取签名密钥并编写批处理程序以将其与密钥库文件名匹配
    猜你喜欢
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 2013-11-14
    相关资源
    最近更新 更多