APK的目录结构
更改APK的后缀后,可以看到APK的组成如下:
assets
其中assets中存放静态资源。
Res
res中存放静态资源。
与assets不同之处,res文件夹下的所有文件会生成资源Id.
lib
包括依赖的jar包库,so文件等。
so文件是利用c\c++代码实现的。
META-INF
签名文件。程序遍历APK包中的所有文件,对非文件夹非签名的文件,逐个用SHA1生成摘要。签名之后,可以判断文件是否被篡改。
AndroidManifest.xml
清单文件,android程序的配置文件。
dex文件
应用程序的可执行文件,如果当前的方法数超过了65535,就会进行分包处理。所以一个apk中会有多个dex文件。
resources.arsc
资源索引表,用来描述具有ID值的资源的配置信息。