深度探究apk安装过程

本文详细探讨了Android应用APK的安装过程,包括PackageManagerService的启动、四种安装方式(系统应用、网络下载、ADB工具和第三方应用)以及涉及的目录。在安装过程中,系统会解析AndroidManifest.xml,分配权限,保存安装信息,并对应用进行dex优化。安装过程分为拷贝文件、解压、创建数据目录、解析XML和显示快捷方式等多个步骤。
摘要由CSDN通过智能技术生成

一.先验知识

0.PcakageaManagerService版本变化
1.概述
2.PackageManagerService服务启动流程
3. PackageManagerService入口

二.四种安装方式

1.系统应用安装2.网络下载应用安装3. ADB工具安装
4.第三方应用安装

三.总结

这里写图片描述

概述

1.1概述
众所周知,Android应用最终是打包成.apk格式(其实就是一个压缩包),然后安装至手机并运行的。APK即Android Package的缩写。
Android系统在启动的过程中,会启动一个应用程序管理服务PackageManagerService,这个服务负责扫描系统中特定的目录,找到里面的应用程序文件,即以Apk为后缀的文件,然后对这些文件进解析,得到应用程序的相关信息,完成应用程序的安装过程。
应用程序管理服务PackageManagerService安装应用程序的过程,其实就是解析析应用程序配置文件AndroidManifest.xml的过程,并从里面得到得到应用程序的相关信息,例如得到应用程序的组件Activity、Service、Broadcast Receiver和Content Provider等信息,有了这些信息后,通过ActivityManagerService这个服务,我们就可以在系统中正常地使用这些应用程序了。

Android应用APK安装的方式

一般而言,Android应用安装有如下四种方式:
系统应用安装:开机时加载系统的APK和应用,没有安装界面;
网络下载应用安装:通过各种market应用完成,没有安装界面;
ADB工具安装:即通过Android的SDK开发tools里面的adb.exe程序安装,没有安装界面;
第三方应用安装:通过SD卡里的APK文件安装(比如双击APK文件触发),有安装界面,系统默认已经安装了一个安装卸载应用的程序,即由packageinstaller.apk应用处理安装及卸载过程的界面。

应用安装涉及到的目录

/system/app :系统自带的应用程序,获得adb root权限才能删除
/data/app :用户程序安装的目录。安装时把apk文件复制到此目录
/data/data :存放应用程序的数据
/data/dalvik-cache:将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,当然,ART–Android Runtime的可执行文件格式为oat,启用ART时,系统会执行dex文件转换至oat文件)
/data/system :该目录下的packages.xml文件,类似于Windows的注册表,这个文件是在解析apk时由writeL

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值