【问题标题】:Is there a way to recover an apk app有没有办法恢复 apk 应用程序
【发布时间】:2018-04-16 18:51:43
【问题描述】:

我的笔记本电脑崩溃了,我丢失了过去 6 个月一直在开发的 android 项目。我的手机上还有调试版。有没有办法从中获取代码?

【问题讨论】:

  • 这似乎与以下问题重复:stackoverflow.com/questions/3593420/…
  • 没有他的案子是关于电子邮件的..我手机上有它
  • 为什么...为什么你会在 6 个月的时间里只将一份代码副本不备份到任何类型的版本控制系统? Github 和许多替代品实际上是免费的...即使您可以检索 APK,您也需要对其进行反编译,这将使您的源代码难以理解,并且没有原始格式、变量名或 cmets。
  • 我确实有一个备份,但它的旧版本做了很多改动

标签: android apk decompiling


【解决方案1】:

最好的办法是使用“adb shell pm path [package-name]”从设备下载 APK 以查看 APK 的安装位置,然后使用“adb pull [path]”将文件下载到您的磁盘上.

然后使用 dex2jar 之类的程序来获取类文件,并使用另一个 Java 反编译器来获取尽可能接近源代码的内容。

取回 XML 资源有点棘手。我能想到的只是运行“aapt dump xmltree [your-app.apk] [path-of-xml]”来转储您的 XML 资源的样子,但您仍然必须手动构建 XML .

希望您没有本机代码(.so 文件),否则您可能会被搞砸。

【讨论】:

  • 我需要一个 linux 发行版来运行 adb 命令吗?因为在 Windows 上显示错误:未知列表类型 'ServiceMarket_com.example.appname.apk'
  • 命令出错了,是“pm path”,不是“pm list”,抱歉。
【解决方案2】:

哦,好的-抱歉,我首先误解了这个问题。对于已安装的 apk,这个问题可能有解决方案:Does Android keep the .apk files? if so where?

【讨论】:

    猜你喜欢
    • 2016-05-11
    • 2011-10-31
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 2010-10-12
    • 1970-01-01
    相关资源
    最近更新 更多