我有一个apk调试文件和一个内容相同的zip文件。有一些.dex文件META-INF,AndroidManifest.xml等等。有没有办法将其导入到android studio项目中编辑应用程序类?
是的,但这会很麻烦。
JADxGUI可以打开APK,并以只读模式反编译所有类和资源。然后,您可以使用"导出到Gradle项目"功能来执行它所说的操作。
然而,它并不完全可靠。有时它无法提取,所以你需要再次提取。当最终创建一个项目时,你会注意到Gradle版本已经非常过时了,所以你需要更新它。
其他需要注意的事项:
- 如果项目使用库,它们将集成到Android Studio中的项目树中。这是因为库是在编译过程中内置到APK中的
- 您可能需要手动删除数千个重复的资源
- 将存在无效的资源文件夹
- 将存在无效的Java代码:
- JADx不能反编译所有内容,并且会留下空方法
- 如果一个类中使用了多个相同类型的匿名类,JADx通常只反编译一个
作为一个这样做的人,老实说,学习Smali和使用APKTool更容易。