apk结构

Apk文件结构简析

AndroidManifest.xml 文件:类似于 Java EE 应用的 web.xml 的角色,定义了整个应用的运行信息。包括:包名、权限、API 版本、组件等等信息。

classes.dex 文件:包含了应用的整个代码逻辑,其以字节码的形式存在。

lib 目录:包含了应用需要的原生库文件,其主要是从 c/c++ 代码编译而来。

META-INF 目录:主要存储了应用的证书和签名信息文件。

assets 里面保存的是一些原始的文件,可以以任何方式来进行组织,assets目录下的文件不会被编译成二进制,直接被打包到apk中。assets目录中的文件不会在R.java中建立索引。assets目录下的文件需借助AssetManager访问。assets目录下可以建立自己的子目录。

res res目录下的绝大部分文件会被编译成二进制(res/raw应该除外)。由于res目录下的所有东西都会在R.java中建立索引,可以用Resources.openRawResource方法读取raw中的文件。res/raw目录下不允许建立子目录。

resources.arsc 文件:应用资源文件id映射

其中,我们可以看到,AndroidManifest.xml 、assets目录、res目录、resources.arsc文件,都是跟资源有关。

最后修改:2021 年 01 月 12 日 21 : 10

发表评论

  • 小星星变奏曲 - 莫扎特
  • Moon River - Audrey Hepburn