Android系统启动流程分析之安装应用
来源:互联网 发布:java中ioc是什么 编辑:程序博客网 时间:2024/05/17 04:51
- 原
Android系统启动流程分析之安装应用
跟随上一篇博客Android系统的启动流程简要分析继续分析android系统的启动.上一篇文章里讲了,SystemServer在main方法里创建了一个线程ServerThread,并调用initAndLoop方法.在initAndLoop方法里加载各种服务,比如WindowManagerService(Wms)、ActivityManagerService(Ams)、PackageManagerService(Pms)等.看下启动PackageManagerServer的代码这个pm是IPackageManager的实例,IPackageManager是由IPackageManager.aidl文件编译生成的.PackageManagerService继承自IPackageManager.StubPackageManagerService调用main方法,传入四个参数context 上下文installer 安装器factoryTest != SystemServer.FACTORY_TEST_OFF 是否为正常的工厂模式onlyCore 为true表示在加密的设备只启动核心的程序那么查看PackageManagerService的main方法.PackageManagerService定义在frameworks/base/services/java/com/android/server/PackageManagerService.java文件中.main方法是这样的根据传入的四个参数创建PackageManagerService的实例,
然后通过ServiceManager添加这个PackageManagerService实例.既然创建了这个实例,那么就调用了它的有参构造函数1.在构造函数里会扫描制定目录的apk文件扫描调用的方法是scanDirLI,传入四个参数,context(上下文),flag(标志),scanMode(扫描模式),currentTime(当前时间).2.在scanDirLI方法内部会调用3.scanPackageLI通过解析安装包parsePackage获取到安装包的信息结构4.之后调用parsePackage的重载方法解析,将应用信息保存在PackageManagerService,比如VersionCode、VersionName等5.回到第3步,调用scanPackageLI的重载方法6.然后调用createDataDirsLI方法7.在createDataDirsLI方法里调用mInstaller的install方法进行安装.
版权声明:本文为博主原创文章,转载请注明出处:邓志勇博客 http://blog.csdn.net/qq_31530015/
0 0
- Android系统启动流程分析之安装应用
- Android系统启动流程分析之安装应用
- Android系统启动流程分析之启动应用
- 系统启动Android应用流程分析
- Android系统启动流程分析之启动应用 - ActivityManagerService
- android系统启动流程分析:
- Android系统启动流程分析
- Android系统启动流程分析
- ANDROID系统启动流程分析
- Android系统启动流程分析
- Android系统启动流程分析
- Android之 系统启动流程
- Android之 系统启动流程
- Android系统启动和应用启动流程分析(一)
- 【源码分析】Android系统启动流程.
- Android 7.0系统启动流程分析
- Android系统启动流程源码分析
- Android系统启动流程源码分析
- Windows网络编程
- catalina.sh详解
- 2016
- mssql计划不能编辑问题
- Android系统的启动流程简要分析
- Android系统启动流程分析之安装应用
- Conquer a New Region, ACM/ICPC Changchun 2012, UVa1664
- id in yii框架
- jquery跳转、刷新页面大全
- AFN做post请求,参数为数组的坑
- html新旧布局的区别
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- [深度学习论文笔记][Weight Initialization] Understanding the difficulty of training deep feedforward neural
- Android中Intent连接不同组件的原理