我不小心从Eclipse中删除了我的项目,现在只剩下我转移到手机上的APK文件。是否有一种方法可以逆转将应用程序导出到.apk文件的过程,以便我可以取回我的项目?
当前回答
不是真的。有许多dex反汇编程序/反编译器套件,如smali或dex2jar,它们将生成半人类可读的输出(在dex2jar的情况下,您可以通过使用类似于j - gui的东西来获得java代码,但这个过程并不完美,而且您不太可能100%地重新创建源代码。但是,它可能会为您提供一个重新构建源代码树的地方。
其他回答
有一种新的方法可以做到。
Android Studio 2.2有APK分析器,它会给出很多关于APK的信息,请在这里检查:- http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
按照下面的步骤来做,或者简单地使用apkToJava gem来完成这个过程,它甚至负责安装所需的工具以使其工作。
将apk文件转换为zip 解压缩文件 从中提取classes.dex 使用dex to jar将classes.dex转换为jar文件 使用jadx GUI打开jar文件作为Java源代码
没有软件,没有太多的步骤。
只要上传你的APK,从这个网站获得你的所有资源。
https://www.apkdecompilers.com/
该网站将反编译APK文件中嵌入的代码,并提取文件中的所有其他资产。
注:我反编译我的APK文件,并在一分钟内从这个网站获得代码
更新1:
我找到了另一个在线反编译器网站,
http://www.javadecompilers.com/apk/ -不工作连续要求弹出窗口阻止
更新2:
我在游戏商店里找到了apk反编译程序,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
我们可以反编译apk文件在我们的安卓手机。我们也可以在这个应用程序中查看Java和XML文件
更新3:
我们可以使用Android studio 2.2版本的另一个选项Analyze APK功能
Build -> Analyze APK ->选择你的APK ->给出结果
下面是一些你可以用来从APK文件到源代码执行逆向工程的工具:
Dex2jar Java编译器的 Apktool Apk分析器
首先,我推荐这个视频,希望它能消除你所有的疑虑
如果没有,请过一遍
解码.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
享受和快乐编码
推荐文章
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在Android中将字符串转换为Uri
- 如何在NestedScrollView内使用RecyclerView ?
- 移动到另一个EditText时,软键盘下一步点击Android
- Android应用中的GridView VS GridLayout
- Activity和FragmentActivity的区别
- 右对齐文本在android TextView
- 权限拒绝:start前台需要android.permission.FOREGROUND_SERVICE
- 如何更改android操作栏的标题和图标
- Android Split字符串
- 让一个链接在安卓浏览器启动我的应用程序?
- 如何在Android工作室的外部库中添加一个jar ?
- GridLayout(不是GridView)如何均匀地拉伸所有子元素
- 如何让一个片段删除自己,即它的等效完成()?