转载请注明出处:http://blog.csdn.net/droyon/article/details/22429191
1、android apk文件中包含哪些文件,各个文件作用是什么
2、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:该文件同样是二进制格式的文件,aapt对资源进行编译时,会为每一个资源分配唯一的id值,程序在执行时会根据这些id值读取特定的资源,而resouces.arsc文件正式包含了所有的id值的数据集合。在该文件中,如果某个id对应的是string,那么该文件会直接包含该值,如果id对应的资源是某个layout或者drawable资源,那么该文件会存入对应资源的路径。这也跟我们在上一篇文章介绍的getValue方法流程一样。
apk文件安装涉及的目录:
关于加载的流程,请查看上一篇博文。
apk文件内容以及安装涉及目录,布布扣,bubuko.com
原文:http://blog.csdn.net/droyon/article/details/22650523