如何解压、编辑和压缩安卓 apk
Posted
技术标签:
【中文标题】如何解压、编辑和压缩安卓 apk【英文标题】:How to unzip, edit and zip an android apk 【发布时间】:2015-06-09 22:01:04 【问题描述】:我有一个android apk,我删除了我的源代码并且没有再次拥有该项目,我想更改旧apk的版本代码。我的问题是如何解压缩并重新打包 apk 以便我可以使用。我用的是mac系统。我在 windows 上看到了很多东西,但我找不到 mac。我需要帮助
【问题讨论】:
【参考方案1】:解压apk文件
最简单的方法是执行解压命令:
解压xxx.apk -d xxx
会生成一个目录 xxx 来存放解压后的文件。
实际上,.apk 文件与 .zip 文件相同。执行命令file XXX.apk
可以看到。
从 apk 中获取可读的文本文件
如果您想要可读的文本文件,例如清单文件,我建议您使用apktool。我们可以使用Homebrew 轻松安装apktool:
brew install apktool
然后获取可读的文本文件:
apktool d xxx.apk
在前面的命令之后,一个 xxx 目录包含可读的文本文件,其他的也会在那里。
编辑压缩文件
如果您想就地编辑 zip 文件,Keka 可能是一个不错的选择。
【讨论】:
这应该是可以接受的答案,无需下载任何应用或工具。 但是 AndroidManifest.xml 看起来像乱码。 我同意这应该被标记为接受的答案,谢谢刘涛!【参考方案2】:要给出在Mac上解包、编辑和打包的完整答案:
解压/解压
正如刘涛所说,在 mac 上解压 *.apk 文件最简单的方法是使用以下命令:
unzip xxx.apk -d xxx
这是因为 *.apk 文件只不过是一个 zip 文件。同样,正如刘涛所说,这可以通过file命令找到。
file xxx.apk
这将显示如下所示的输出:
xxx.apk:压缩存档数据,至少要 v2.0 才能解压
编辑
我认为这是不言自明的。进入您将 *.apk 内容导出到的文件夹并像往常一样编辑它们。
包装/拉链
在 Mac 上,这也很简单。 您可以使用 zip 命令将所有文件打包回 *.apk 文件中。
zip -r xxx.apk xxx/
【讨论】:
恐怕它看起来不再像这样工作了(至少在尝试安装在模拟器上时)。尽管文件存在于新 APK 中,Logcat 仍显示java.io.FileNotFoundException: AndroidManifest.xml
我一直在努力实现这一点,在 Windows 上,我一直无法做到。我尝试了几种 zip 工具:powershell unzip/zip 命令、7zip、C# zip 库:System.IO.Compression.ZipFile、SharpZipLib、SharpCompress、DotNetZip。任何帮助将不胜感激。【参考方案3】:
您想使用 APKTool。它将为您处理解压缩和重建:http://ibotpeaches.github.io/Apktool/
【讨论】:
您还可以使用 jdgui 之类的工具来获取源代码的外观。 jd.benow.ca 有点矫枉过正 不适合我。 android生成apk文件后说:解析包有问题 我讨厌 Java 运行时:错误:找不到或加载主类版本以上是关于如何解压、编辑和压缩安卓 apk的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Android .apk 资产文件夹中解压缩 LUA 脚本?