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包部署在目标机器上。
版权声明:本文博客原创文章,博客,未经同意,不得转载。