1个APK文件通常包含以下文件:
META-INF文件夹:又叫签名文件,保护app不被恶意篡改,保护app的著作权
CERT.RSA
CETT.SF
MANIFEST.MF:存放app的所有文件的信息
在安装应用程序时会检查CERT.RSA,CETT.SF文件以确保应用程序的安全性和完整性,这些文件是自动生成的,
assets:静态资源文件,不会被解压缩,
lib:按照安卓系统的cpu架构分类,在安卓系统中,库文件分为两类:
共享库文件:.so为后缀
本地库文件:后缀为.so,这里放的是本地库文件,是该应用所特有的,不会被其它app所使用,实现特定的功能。比如:加密和解密,访问特定的硬件
res:编译资源文件,是编译后的,直接打开可能会乱码,命名是默认的,尽量不要改。
ANDROIDMANIFEST.XML:清单文件
classes.dex:核心代码文件,David+exe
反编译后会变成smail文件,可以当成是Java代码。
在运行时会把多个dex文件合并成1个文件,之所以会有多个的原因是因为编译时有文件大小的设置。
是自动生成的,访问速度比共享库小。
在安装app时会自动解压缩并运行。
使代码文件压缩的比较小。
resources.arsc:资源映射文件:存放资源表,访问速度慢于文本文件,