前段时间我上传谷歌为我的家庭餐厅播放应用程序,这就像显示菜单,时间表,价格......所有这些东西。它仍然在谷歌播放中,我可以通过谷歌开发者访问它,但问题是我丢失了所有代码。
有没有办法恢复数据以添加一些新信息,然后更新我的应用程序?
非常感谢你。
答案 0 :(得分:2)
你需要一个有根设备:
将应用安装到您的设备上,然后使用以下命令从设备上取下apk:
C:\android-sdk-windows\tools\
)输入adb shell
并按Enter键su
并按Enter ls
并按Enter键(找到要提取的文件)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中的代码。
答案 1 :(得分:1)
如果您在生成APK文件时使用progaurd对代码进行Obfusticate,则无法实现。
如果没有,你可以在某种程度上反编译类并对反编译的类进行一些更改,你可以使它工作......很少有工具来反编译APJK文件
谢谢,