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包部署在目标机器上。

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

上一篇:java中vector与hashtable操作详解


下一篇:《深入PHP与jQuery开发》读书笔记——Chapter2