如何从APK文件中恢复Gradle文件?

12

我成功地使用这个教程从APK文件中恢复了Java文件和XML文件,但我无法找到Gradle脚本(build.gradle、settings.gradle、local.properties等)。

我创建了一个新项目,并已导入Java和XML文件,但该项目无法正常工作,我猜测是因为Gradle的问题。

有人知道如何解决这个问题吗?

4个回答

37

gradle文件并未编译到APK中,仅用于实际的Android Studio项目中获取依赖项和应用程序配置。无法从APK中获取gradle文件。


此外,不仅无法从apk中获取原始文件,而且即使可用,原始构建配置文件也不能保证与重新编译(不是“恢复”)的Java和XML文件匹配。可能最简单的方法是将这些文件导入适当的IDE中,以便得到可行的构建。 - Chris Stratton
我创建了一个新项目并导入了Java和XML文件,但它无法工作。在添加这些文件之前,新项目是可行的构建。 - user3677169
1
APK反编译永远不会给你一个与之前完全相同的副本。它很可能在某个地方出了问题,而且重新开始并逐步手动移植旧应用程序的功能可能更容易些。 - Tomer Shemesh
这很令人沮丧.. 因为我没有旧应用程序,只有apk文件。 - user3677169

2

你无法这样做。当你编译APK时,它将把所有文件合并为一个单独的文件。APK文件包含该程序的所有代码(如.dex文件)、资源、资产、证书和清单文件。

因此,当你反编译它时,你无法找到gradle文件。


1
尝试在工作室中创建自己的文件夹,然后将代码复制到工作室中...应该可以正常工作...至于gradle文件?Android Studio将使用gradle进行构建...据我所知,工作室使用gradle构建系统来构建应用程序。

依赖和模块怎么办? - Tushar Gogna

0
根据我阅读的关于 Apktool vs JADX:优缺点 的内容,JADX 明显将 APK 文件反编译为 Java 代码,并且还有选项允许你将所述反编译的 APK 保存为 Gradle 项目,它有 CLI 版本和 GUI 版本。
然而,我注意到 JADX 的其中一个缺点来自于当在其上使用时,APK 包含某些非 ASCII 字符,导致反编译过程失败。
也许这对你有用,不确定它是否会给你原始 Gradle 文件,但它可能是朝着正确方向迈出的一步。
你可以从创建者的 Jadx GitHub 存储库 中找到更多关于 JADx 的信息,注意它并不适用于您使用的每个 APK。
希望对你有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接