-1

前段时间我上传到谷歌为我的家庭餐厅播放了一个应用程序,它类似于显示菜单、时间表、价格......所有这些东西。它仍在谷歌游戏中,谷歌开发人员可以访问它,但问题是我丢失了所有代码。

有什么方法可以恢复数据以添加一些新信息然后更新我的应用程序?

十分感谢。

4

2 回答 2

2

为此,您需要一个有根设备:

将应用程序安装到您的设备上,然后使用以下命令从设备上取下 apk:

  1. 通过随附的 USB 数据线将您的“Rooted”Android 设备插入您的计算机。
  2. 从您的 adb 命令行(通常C:\android-sdk-windows\tools\)键入adb shell并按 enter
  3. 切换到root用户,输入su并回车
  4. 输入“cd data/app”并按回车
  5. 列出所有安装的apk文件,输入ls并回车(找到你要解压的那个)
  6. 在另一个命令窗口中,通过键入以下命令将其中一个文件拉到您的计算机上: adb pull /data/app/application.apk name.apk然后按 Enter

获得 apk 后,将其重命名whatever.zip为 zip 文件并将其解压缩。您现在将看到一堆文件夹。现在可以立即恢复资产文件夹中的任何内容。对于 java 代码,必须使用dex2jar转换classes.dex.jar文件。之后,您可以使用JD-GUI从 .jar 文件中读取代码。

要提取 AndroidManifest.xml 和 res 文件夹中的所有内容(布局 xml 文件、图像等),您必须使用APKTool 运行以下命令:

apktool.bat d sampleApp.apk

它还会提取所有 .class 文件的 .smali 文件,但这些文件很难阅读,您应该使用 dex2jar 中的代码。

于 2013-01-11T20:59:51.513 回答
1

如果您在生成 APK 文件时使用 progaurd 混淆您的代码,那么这是不可能的。

如果没有,您可以在一定程度上对类进行反编译并对反编译的类进行一些更改,然后您就可以使其正常工作...反编译 APJK 文件的工具很少

谢谢,

于 2013-01-11T21:05:23.667 回答