Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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 如何在没有错误的情况下反编译.apk?_Java_Android_Eclipse_Decompiler_Apktool - Fatal编程技术网

Java 如何在没有错误的情况下反编译.apk?

Java 如何在没有错误的情况下反编译.apk?,java,android,eclipse,decompiler,apktool,Java,Android,Eclipse,Decompiler,Apktool,我试过apktool,甚至在线版本, 但是仍然无法获得在eclipse中工作的东西 我想反编译一个名为bucket drops的应用程序,它是android课程的一部分。我想看看源代码并对其进行调整 当我尝试反编译.apk文件时,它缺少.classpath和.project文件,因此我在eclipse中创建了一个新项目,并将源代码复制到其中,但由于某种原因,eclipse显示该应用程序存在缺陷 我该怎么做?如何:使用ApkTool反编译/重新编译apk 要求: ApkTool Java JDK

我试过apktool,甚至在线版本, 但是仍然无法获得在eclipse中工作的东西

我想反编译一个名为bucket drops的应用程序,它是android课程的一部分。我想看看源代码并对其进行调整

当我尝试反编译.apk文件时,它缺少.classpath和.project文件,因此我在eclipse中创建了一个新项目,并将源代码复制到其中,但由于某种原因,eclipse显示该应用程序存在缺陷


我该怎么做?

如何:使用ApkTool反编译/重新编译apk


要求:

ApkTool Java JDK/JRE 32位 基本Cmd/终端知识


在这里下载ApkTool

ApkTool.zip

首先,您需要将该zip文件夹解压缩到您选择的任何位置,最好是在c/drive ie:c:/android/apktool的根目录上,将文件解压缩到“apktool”文件夹

现在,将stockframework-res.apk&您想要修改的任何其他apk放入“apktool”文件夹中


进入CMD目录

打开Cmd提示符(终端)并进入“apktool”目录,即:

你的cmd很可能是这样的

C:\users\yourname>

所以输入

cd。。(是包括“..”并在键入每个命令后按enter键)

这将使您返回目录,现在您将看到

C:\users>

所以再打一次

cd

您现在应该看到:

C:>

现在输入:

cd'apktoo'l/'directory'

对我来说,它看起来像:

cd android/apktool

现在你应该看到:

C:/android/apktool>

您位于apktool目录中:D

单击展开。。。 安装框架

现在您在目录中,我们需要将设备的框架安装到您的系统中,以便正确编译,因此请键入以下内容:

apktool if framework-res.apk

这将把设备框架安装到您的系统中(需要这样做)


反编译

现在要反编译要编辑的apk。。键入以下内容:

apktool d framework-res.apk framework1

apktool d music.apk music

apk是您反编译的apk 音乐是您为反编译的apk创建的文件夹

现在进行编辑:D不要更改/编辑任何PNG


重新编译/成品

现在要重新编译新的apk类型,请执行以下操作:

apktool b music-new.apk

apktool b framework1 framework-res-new.apk

framework1是包含已编辑文件的文件夹 framework-res-new.apk是您的新apk文件:D

现在我们还没有结束。。。我们不能使用新的apk的。。。我们必须将我们所做的事情添加回原始apk文件,以保留正确的签名:D

使用7zip之类的工具,从“-new”apk中取出“resources.arcs”文件和您编辑的任何其他xml文件,并将它们复制到原始apk中

现在,apk已经准备好为您的新更改刷新:D:D 希望这能帮助你们中的一些新手


来源:

我的一位同事编写了一个RubyGem来解决这个问题,它可以反编译Apk并在友好的GUI中打开它的代码。 是宝石的名字。你应该试一下

这是一个易于使用的工具,只需要两到三个命令就可以反编译Apk

gem install apkToJava
apkToJava setup
apkToJava /path/to/apk/file.apk

<>现在支持的只有两个操作系统<强> Mac OS <强>和<强> Linux > ./P> java代码不保存类名,对吗?你也应该切换到Android工作室,因为2016的Eclipse不再支持Android开发了,请考虑添加答案的必要部分,但不是作为一个链接!感谢您提到这并没有解决将反编译代码导入IDE的问题,这是如何解决问题的?Ruby代码本质上是围绕dex2jar和jadx的包装器,两者都可以用作命令行实用程序,而不需要Ruby