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

你可能感兴趣的:(Android开发,ubuntu)