我不小心从Eclipse中删除了我的项目,现在只剩下我转移到手机上的APK文件。是否有一种方法可以逆转将应用程序导出到.apk文件的过程,以便我可以取回我的项目?
当前回答
在Android Studio 3.5中,它非常简单,你可以在一分钟内实现它。 以下是一个循序渐进的过程。
1:打开Android Studio,按窗口按钮->类型Android Studio ->点击图标打开Android Studio启动画面,看起来像这样。
2:在这里你可以看到一个选项“配置文件或调试APK”,点击它,选择你的APK文件,然后按确定。
3: 根据apk的大小,它将在一分钟内打开所有的清单和java类。
就是这样。
其他回答
如果您正在寻找专业的替代方案,请查看PNF Software的JEB反编译器。
有一个演示版本可以让你反编译大多数代码。
您可能需要使用的另一个工具是APK Studio 然而,它依赖于第三方工具:Apktool, jadx, ADB和Uber APK签名者,你需要单独下载。
按照下面的步骤来做,或者简单地使用apkToJava gem来完成这个过程,它甚至负责安装所需的工具以使其工作。
将apk文件转换为zip 解压缩文件 从中提取classes.dex 使用dex to jar将classes.dex转换为jar文件 使用jadx GUI打开jar文件作为Java源代码
首先,我推荐这个视频,希望它能消除你所有的疑虑
如果没有,请过一遍
解码.apk文件的步骤,分步方法:
步骤1:
创建一个新文件夹,并将.apk文件放入其中(您想解码的文件)。现在将这个.apk文件的扩展名重命名为.zip(例如。: rename from filename.apk to filename.zip)并保存。
如果在转换成。zip时出现问题,请参考链接
在得到。zip文件之后,你会得到classes.dex文件,等等。在这个阶段,你可以看到可绘制的文件,但不是xml和java文件,所以继续。 如果您没有看到扩展通过,请检查配置
步骤2:
现在将这个zip apk文件解压到同一个文件夹中。现在从这个链接下载dex2jar
然后解压缩到同一个文件夹。现在打开命令提示符并将目录更改为该文件夹。
然后编写dex2jar classes.dex并按enter键。现在您在同一个文件夹中获得classes.dex.dex2jar文件。
然后下载java反编译器
双击jd-gui,点击打开文件。然后从该文件夹中打开classes.dex.dex2jar文件。现在您获得类文件,并按src名称保存所有这些类文件(单击file,然后在jd-gui中单击“save all sources”)。解压该zip文件(classes_dex2jar.src.zip),您将获得应用程序的所有java文件。
在这个阶段,你得到java源代码,但xml文件仍然是不可读的,所以继续。
步骤3:
现在打开另一个新文件夹并放入这些文件
输入你想解码的。apk文件 下载Apktool for windows v1。x和Apktool
使用谷歌安装窗口并放入相同的文件夹
使用谷歌下载framework-res.apk文件并放入相同的文件夹(并非所有apk文件都需要framework-res.apk文件) 打开命令窗口 进入APKtool的根目录,输入以下命令: 如果framework-res.apk. Apktool。
上述命令将导致框架安装....
apktool d“appName”.apk(“appName”表示你想解码的应用程序)现在你在那个文件夹中得到一个文件夹,现在你可以很容易地读取xml文件。
步骤4: 最后,我们得到了项目的分辨率和java代码,这是我们开始的目标。
注:如果你不能通过以上步骤获得res文件夹,请安装新的apktool 是否安装了Java 1.7 ?安装Apktool 2.x 是否安装了Java 1.6或更高版本?安装Apktool 1.x
享受和快乐编码
有两个有用的工具可以从未知的APK文件生成Java代码(粗糙但足够好)。
从dex2jar下载dex2jar工具。 使用工具将APK文件转换为JAR: 窗口: $ d2j-dex2jar.bat demo.apk Dex2jar demo.apk -> ./demo-dex2jar.jar MacOS / Linux: $ d2j-dex2jar.sh -f demo.apk -o demo.jar 生成JAR文件后,使用JD-GUI打开JAR文件。您将看到Java文件。
输出将类似于:
然后你可以使用其他工具从APK文件中检索AndroidManifest.xml和资源文件(如图像、翻译等)。
Apktool $ java -jar apktool.jar -q decode -f demo.apk -o outputDir AXMLParser $ apkinfo demo.apk NinjaDroid $ ninjadroid demo.apk——所有——提取
推荐文章
- Manifest合并失败:uses-sdk:minSdkVersion 14
- 为什么Android工作室说“等待调试器”如果我不调试?
- 如何检查我的EditText字段是否为空?
- Android从图库中选择图像
- 是否可以将已编译的.pyc文件反编译为.py文件?
- 后台任务,进度对话框,方向改变-有任何100%工作的解决方案吗?
- Android:垂直对齐多行EditText(文本区域)
- Android无尽列表
- Android room persistent: AppDatabase_Impl不存在
- 错误:执行失败的任务':app:compileDebugKotlin'。>编译错误。详细信息请参见日志
- 在Android中使用URI生成器或使用变量创建URL
- 缩放图像以填充ImageView宽度并保持纵横比
- 列表视图的自定义适配器
- 在Android中设置TextView span的颜色
- 如何以编程方式在RelativeLayout中布局视图?