如何将 Android APK 转换为 Java 和 XML 文件? [复制]

Posted

技术标签:

【中文标题】如何将 Android APK 转换为 Java 和 XML 文件? [复制]【英文标题】:How To Convert Android APK Into Java & XML File? [duplicate] 【发布时间】:2017-05-15 02:36:57 【问题描述】:

我和我的朋友正在为 FBLA 州领导会议竞赛构建一个 android 应用程序。

我们使用 MockingBot 为我们的应用创建了一个“蓝图”,并计划使用 Android Studio 来复制设计并使应用功能化。

我们从 MockingBot 下载了 Android APK 文件。除了在 Android Studio 上重新制作之外,有没有一种方法可以让我们从 APK 中提取 Java 和 XML 文件,并将它们放入 Android Studio 以完成大部分 XML 工作,然后从那里进行调整?

谢谢

【问题讨论】:

见***.com/questions/3593420/… 这叫反编译,不是转换。你可以使用apktool 来提取资源,dex2jarjava decompiler 来反编译jar。尽管反编译器并不总是适用于所有源代码,并且混淆代码会被混淆以供阅读。 将来,如果您想这样做,请使用一些设计有代码生成器的模拟工具,以便您能够使用这些生成的项目。无论您进行逆向工程,都不太可能容易理解。 你试过这个很棒的工具,叫做谷歌搜索吗? 【参考方案1】:

您通常可以使用多种工具来执行此类操作。 apktooldex2jar 很好,jadx 也是一个很好的一体化解决方案。在这种情况下,看起来 MockingBot 使用 Cordova 生成您的应用程序,这意味着几乎没有真正的 Java/Android 代码需要反编译。它本质上是一个 Web 包装器,因此您可以构建跨平台应用程序。

jadx 仍然允许您从应用程序中提取所有内容,但重建可能并不容易。如果您打算走这条路线,我建议您查看 Apache Cordova 或其他实现它的项目,例如 Ionic。如果你这样做,我还建议使用更好的 IDE 进行 Web 开发。您仍然可以使用 Android Studio,但原版 Intellij 可能会让您的生活更轻松。

假设 MockingBot 没有使用任何 Cordova 插件,您只需解压缩 APK 并使用 assets/www 目录下的内容即可开始使用 Cordova 自定义您的应用。

编辑:因为我不能在没有至少 50 分的情况下发表评论......这实际上不是已经建议的重复。这个问题可能看起来很相似,但是 Web 包装的应用程序与使用 Java 构建的应用程序非常不同,并且更容易反编译/逆向。您的 cmets 中链接的答案很可能对您没有帮助。

【讨论】:

丹,谢谢你的回复,但我不太明白你想告诉我的所有内容。我对 Java 和应用程序开发很陌生。那么,我能否从 Android APK 文件中获取 Java 和 XML?如果我得到它,我不能将它复制并粘贴到 Android Studio 中吗? Android Studio 和 Intellij 有什么区别? Apache Cordova 做什么 - 允许我使用 html、CSS 和 JS 构建应用程序?怎么解压APK(和winRAR解压一样)?对不起,我是个菜鸟。谢谢!! 您可以获得 Java 和 XML,但这对您没有任何好处。 MockingBot 使用框架 (Cordova),而不是使用标准平台语言(Android 的情况下是 Java),它构建了一个 Web 应用程序,可以选择使用挂钩来使用平台特定的功能。至少在 Android 中,Cordova 使用 WebView 来显示您的应用程序。不要认为这是一个 Android 应用程序,它是一个包含 javascript、CSS 和 HTML 的网络应用程序。 assets/www 目录是存储 Web 应用程序的位置。 如果你想编辑这个应用程序,你必须阅读 Cordova 并了解它是如何使用的,这样你就可以将应用程序复制到一个新项目中并按照你的需要进行编辑。您可以使用任何标准解压缩实用程序解压缩 APK。 APK 与 ZIP 文件几乎没有什么不同。如果您在 Windows 上,您只需更改扩展名,以便操作系统将其识别为存档,在 Linux 上,您只需 unzip [file name].apk。 Android Studio 将在这里限制您,因为它仅适用于 Android 应用程序,您正在修改 Web 应用程序。 Intellij 与 Android Studio 非常相似,但扩展性更强。

以上是关于如何将 Android APK 转换为 Java 和 XML 文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

将 Python 代码转换为 Android 的 apk? [关闭]

Android-如何通过解码和反编译apk文件来提供打开的android相机权限

Android 将 apk 反编译为源码

如何使用 buildozer 将可以显示图像的 pygame 转换为 apk

如何将我的 Android Studio 项目导出为 APK 文件? [复制]

如何将php&jqueryMobile应用程序转换为apk文件