apk文件的内容

android应用程序是以apk格式的文件进行发布的,源代码文件、资源文件、AndroidManifetst.xml文件等会被压缩到apk文件中。apk文件和jar包一样,是一个zip文件,我们可以讲apk文件扩展名更改为zip,然后解压,了解一下各种文件在apk中的存在形式。


1、res目录:该目录包含了工程中res目录下除values以外的所有内容,一般包括各种layout文件,drawable,但layout文件内容是以二进制xml的方式进行保存的,而所有的drawable图像资源都是未经压缩过的原始文件。因为drawable中的jpg,png本身就是压缩文件。上文介绍了Resource文件getValue方法的调用示例,其中就是以layout为例。

2、classes.dex:该文件是真正的Java class文件,dex文件时google发明的,这种格式的作用和Java class文件相同。所不同的是,为了能够快速读取class文件并让class在解释时占用更少的内存,gogole对标准的class文件进行了重新的格式优化,这就是dex。想从dex文件看到源码,我们可以进行反编译。


3、resources.arsc:是所有的资源id的数据集合。该文件同样是二进制格式的文件,aapt对资源进行编译时,会为每一个资源分配唯一的id值,程序在执行时会根据这些id值读取特定的资源,而resouces.arsc文件正式包含了所有的id值的数据集合。在该文件中,如果某个id对应的是string,那么该文件会直接包含该值,如果id对应的资源是某个layout或者drawable资源,那么该文件会存入对应资源的路径。这也跟我们在上一篇文章介绍的getValue方法流程一样。

4、lib:工程中包含的.jar文件

5、assets:

1)混合开发中一般html5和javascript以及相关资源可以存放在Assets文件夹内
2)可以放一些资源文件

6、META-INF:包含签名文件


部分转载自:http://blog.csdn.net/droyon/article/details/22650523


已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页