apk 目录结构
apk,即 Android application package,是android应用的简称。
android 手机安装的应用都是以apk的形式来进行的。它其实是将开发过程中的各种资源文件,代码,so库,配置文件一起打包,签名,进行编译处理。他实质上是个压缩包,将后缀改为zip,解压出来可以看到他的目录结构。
这个是淘宝的apk解压后的目录。
AndroidManifest.xml 是配置文件,他是提供给android系统看的,其中包括了各种需要被系统注册的服务,版本号,包名,等各种。
assets 这个是资源目录,里面的文件在编译时不会被编译,之后还能保持原有的结构和目录,系统提供了api去访问这个文件夹下的资源。
classes.dex 项目工程代码和lib库最后都编译成了这个文件,android 重写了虚拟机,不能直接加载class文件,需要先编译成dex文件,在由加载器加载。
lib目录,这个是所有支持的so库,加载的c层库。
META-INF,签名验证文件,在最后签名会生成这个目录,以此来验证包内容是否合法。
res,各种图片资源字符串等资源目录。
resources.arsc 编程资源项索引表的二进制文件。