Android:apk 文件格式

Tags: android 

目录

Apk 文件解压缩

Apk 是 Android 应用使用的文件格式,它实际上是一个 zip 压缩包,可以直接用 tar 命令解压:

tar -xvf app-debug.apk
✗ tree -L 1
.
├── AndroidManifest.xml
├── DebugProbesKt.bin
├── META-INF
├── classes.dex
├── classes2.dex
├── classes3.dex
├── classes4.dex
├── kotlin
├── res
└── resources.arsc

3 directories, 7 files

读取 AndroidManifest.xml

tar 解压缩得到的 AndroidManifest.xml 是一个二进制文件,不是直接可读的文本文件,格式是 Android 自行实现的 Binary XML,不是 xml 通用的二进制的格式,没用标准的解读工具。

Android application package uses an undocumented binary XML format.[5]

用 axmldex 解读

axmldec: Android Binary XML Decoder 解读 AndroidManifest.xml:

brew tap ytsutano/toolbox
brew install axmldec

将二进制格式的 AndroidManifest.xml 转换成文本格式:

axmldec -o output.xml AndroidManifest.xml

用 apktool 解读

apktool 是 apk 修改器,能够将 apk 文件反向解析,然后将其重新打包成 apk 文件,为修改闭源的第三方 apk 提供了方便。

brew install apktool

apktool 会将整个 apk 文件反向解析:

apktool d app-debug.apk

参考

  1. 李佶澳的博客
  2. Android 开发者指南
  3. Android Studio 开发Android应用
  4. App Manifest Overview
  5. Binary XML
  6. axmldec: Android Binary XML Decoder
  7. 在AVD_7.1_x86 emulator上安装微信
  8. apktool

推荐阅读

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作

友情链接:  系统软件  程序语言  运营经验  水库文集  网络课程  微信网文  发现知识星球