Android apk 的安装过程

来源:互联网 发布:细说php第二版 pdf 编辑:程序博客网 时间:2024/05/24 06:43
APK的安装过程

一个apk是如何安装到我们的手机上的呢?今天对这个问题做一个了解。了解这个机制对工作是有帮助的,有什么帮助,就得看具体的工作需要了。


Android应用安装有如下四种方式

1.系统应用安装――开机时完成,没有安装界面

2.网络下载应用安装――通过market应用完成,没有安装界面

3.ADB工具安装――没有安装界面。

4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面。

 

下载好的Android apk, 在安装过程中,其中文件内容是这样处理的:

1. 先把apk拷贝到/data/app下, 没错,就是完整的apk, 例如com.calendar.UI-2.apk

2. 解压apk,把其中的classes.dex 拷贝到/data/dalvik-cache, 其命名规则是 apk路径+classes.dex, 如: data@app@com.calendar.UI-2.apk@classes.dex, 其中@表示目录符号/

3. 在/data/data下创建对应的目录,用于存储程序的数据,例如cache, database等, 目录名称与包名相同, 如com.calendar.ui.

 

要注意的是, 安装过程并没有把资源文件, assets目录下文件拷贝出来,他们还在apk包里面呆着,所以,当应用要访问资源的时候,其实是从apk包里读取出来的。其过程是,首先加载apk里 的resources.arsc(这个文件是存储资源Id与值的映射文件),根据资源id读取加载相应的资源。


Android AOSP的代码中:/packages/apps/PackageInstaller,这个项目是负责apk安装的,就是上面的第四个,但这也只是很小的一部分,更多请见下面的链接。

参考连接:
http://blog.csdn.net/yanzi1225627/article/details/20577059
http://blog.csdn.net/dadoneo/article/details/8047931
http://www.360doc.com/content/12/0110/21/7322578_178616057.shtml
http://www.360doc.com/content/12/0915/12/8233081_236222209.shtml
 


0 0
原创粉丝点击