我不小心从Eclipse中删除了我的项目,现在只剩下我转移到手机上的APK文件。是否有一种方法可以逆转将应用程序导出到.apk文件的过程,以便我可以取回我的项目?
当前回答
不是真的。有许多dex反汇编程序/反编译器套件,如smali或dex2jar,它们将生成半人类可读的输出(在dex2jar的情况下,您可以通过使用类似于j - gui的东西来获得java代码,但这个过程并不完美,而且您不太可能100%地重新创建源代码。但是,它可能会为您提供一个重新构建源代码树的地方。
其他回答
是的,你可以拿回你的项目。只要将yourproject.apk文件重命名为yourproject.zip,你就会得到该ZIP文件中的所有文件。我们正在将文件扩展名从。apk更改为。zip。从该ZIP文件中,提取classes.dex文件并按以下方法反编译它。
首先,您需要一个工具将DEX上的所有(已编译的)类提取到JAR中。 有一个叫dex2jar的,是一个中国学生做的。
然后,您可以使用JD-GUI将JAR中的类反编译为源代码。由于dex2jar应用了一些优化,因此得到的源代码应该非常易于阅读。
按照下面的步骤来做,或者简单地使用apkToJava gem来完成这个过程,它甚至负责安装所需的工具以使其工作。
将apk文件转换为zip 解压缩文件 从中提取classes.dex 使用dex to jar将classes.dex转换为jar文件 使用jadx GUI打开jar文件作为Java源代码
下面是一些你可以用来从APK文件到源代码执行逆向工程的工具:
Dex2jar Java编译器的 Apktool Apk分析器
如果您正在寻找专业的替代方案,请查看PNF Software的JEB反编译器。
有一个演示版本可以让你反编译大多数代码。
试试这个工具:https://decompile.io,它可以在iPhone/iPad/Mac上运行
推荐文章
- 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中布局视图?