Android apk file

apk file 事实上zip文件。 您可以使用unzip命令提取。

unzip example1.apk -d ./example_dir
tree
.
├── AndroidManifest.xml
├── classes.dex
├── META-INF
│   ├── CERT.RSA
│   ├── CERT.SF
│   └── MANIFEST.MF
├── res
│   └── layout
│       └── main.xml
└── resources.arsc

apk文件的具体介绍能够參考wiki: http://en.wikipedia.org/wiki/APK_(file_format)


classes.dex文件是一个压缩文件,能够被解压成jar文件,须要下载工具软件dex2jar

https://code.google.com/p/dex2jar/

解压后放到/usr/文件夹下,然后执行命令使用:

$ /usr/dex2jar-0.0.9.15/d2j-dex2jar.sh classes.dex 
dex2jar classes.dex -> classes-dex2jar.jar


然后解压jar包:

jar xvf classes-dex2jar.jar 

tree org
org
└── csfreebird
    ├── BuildConfig.class
    ├── MainActivity.class
    ├── R$attr.class
    ├── R.class
    ├── R$id.class
    ├── R$layout.class
    └── R$string.class

注意。假设用 mvn android:deploy打包生成的apk文件。会自己主动将依赖的jar包的class文件抽出来,打入apk包中。

你不会看到依赖jar包部署在目标机器上。


版权声明:本文博客原创文章,博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/zfyouxi/p/4618972.html