Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将.dex文件转换为android studio项目_Java_Android_Android Studio_Dex - Fatal编程技术网

Java 如何将.dex文件转换为android studio项目

Java 如何将.dex文件转换为android studio项目,java,android,android-studio,dex,Java,Android,Android Studio,Dex,我有一个apk调试文件和一个内容相同的zip文件。有一些.dex文件META-INF、AndroidManifest.xml等。有没有办法将其导入android studio项目以编辑应用程序类 是的,但这将是一件麻烦事 可以打开APK,并将以只读模式反编译所有类和资源。然后,您可以使用“导出到Gradle项目”功能来精确地执行它所说的操作 然而,它并不完全可靠。有时它不能提取,所以你需要再提取一次。当它最终创建一个项目时,您会注意到Gradle版本已经非常过时,所以您需要更新它 其他需要注意的

我有一个apk调试文件和一个内容相同的zip文件。有一些.dex文件META-INF、AndroidManifest.xml等。有没有办法将其导入android studio项目以编辑应用程序类

是的,但这将是一件麻烦事

可以打开APK,并将以只读模式反编译所有类和资源。然后,您可以使用“导出到Gradle项目”功能来精确地执行它所说的操作

然而,它并不完全可靠。有时它不能提取,所以你需要再提取一次。当它最终创建一个项目时,您会注意到Gradle版本已经非常过时,所以您需要更新它

其他需要注意的事项:

  • 如果项目使用库,它们将集成到Android Studio中的项目树中。这是因为库在编译期间内置在APK中
  • 您可能需要手动删除数千个重复的资源
  • 将存在无效的资源文件夹
  • 将出现无效的Java代码:
    • JADx无法反编译所有内容,将留下空方法
    • 如果一个类中使用了多个相同类型的匿名类,JADx通常只反编译一个
作为一个这样做过的人,学习Smali和使用APKTool真的很容易