一.apk是android应用程序的安装包,是个zip的压缩文件
apk主要有以后几个部分组成
1.mate-inf 从java jar引入包信息的描述
2.res/ 资源文件目录
3.libs ndk编出来的os库
4.androidmanifest 配置文件
5.class.dex 最终生成的dalvik字节码
6.resources.ars 编译后的二进制资源文件
二.android的运行原理
android应用程序运行时都会有一个davlik虚拟机实例.代码在虚拟机的解释下运行,提高了效率.
每个虚拟机实例都是一个独立的进程.android应用线程对应一个linucx线程.这样虚拟机就可以
依赖系统线程的调度和管理机制.由于应用在不同的进程中执行,并且不同的来源应用使用不同
的linux用户.这样大大提高了安全性和独立性.Zygote是一个虚拟进程同时,同时也是一个虚拟机
实例.Zygote会在系统启动时进行初始化工作.每当有一个新的应用程序启动时.Zygote会复制自己,
为应用程序提供一个虚拟机,这样大大的提高了效率.另外,对于一些系统只读库,Zygote和虚拟机实例
会公用一块内存区域.这样大大节省了内存开支.apk被发布到手机上之后.dex会放到缓存中,被优化
成dey,被直接运行.如果包不发生变化.dey不会重新生成.
sun jdk将java文件编译成.class文件.DX将class文件变为dex文件.然后appt将dex,资源文件,androidmanifest配置文件打包成apk.
三.android中常用的包以及作用
android.app 提供android的运行环境,程序高级模型
android.content 包含各种的对设备上的数据进行访问和发布的类