首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

APK安装流程详解9——PackageParser解析APK(上)

这些"分割"APK的必须都是有效的安装,同时必须满足下面的几个条件: 所有的APK必须具有完全相同的软件包名称,版本代码和签名证书 所有的APK必须具有唯一的拆分名称 所有安装必须包含一个单一的APK...所以我们这里就不挨个讲解了,关于这个类的主要方法,后续在讲解APK时会用到,所以关于这个类,我们先简单讲解下PackageParse类的内部类,然后依据在安装流程中的安装入口依次讲解PackageParse...// APK安装包中 保内广播的Action public ArrayList protectedBroadcasts; // APK安装包中 依赖库的名字...一个包由一个"基础"APK和多个"拆分"APK构成。 这个类其实就是通过解析APK而对应的一个"包"的类,这个包代表一个磁盘上的APK安装包。...它自动会检测安装包的模式的是单一APK或者集群APK模式。 这样就可以对"集群APK"的安装包进行理性的检查,比如会检查"base APK"和"拆分APK"是否具有相同的包名和版本号。

5.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Apk安装过程解析

    本文主要内容 静默安装 apk安装流程简析 installd进程意义 最近工作上遇到静默安装相关的内容,顺便学习一下apk安装的知识 静默安装 静默安装是指apk无感安装,不需要用户确认。...安装流程简析 PackageManager是一个抽象类,应用调用pm安装apk,这中间会发生跨进程调用,因为pms是运行在system进程中的。...之前绑定的服务,在此处主要有两个功能,一是解析apk中的基本信息,比如包名、版本号、安装位置等 pkgLite = mContainerService.getMinimalPackageInfo(origin.resolvedPath...,安装应用以及完成安装,并发送package add等。...installPackageLI方法非常长,它需要验证apk的签名文件,并且详细解析apk中的所有activity、service等信息并加以保存,方法非常非常的长 //收集签名并验证 try {

    1.7K60

    APK安装流程详解11——普通应用安装简介

    之所以每个应用都要一个userId,是因为Android在系统设计上把每个应用当做Linux系统上的一个用户对待,这样就可以利用已有的Linux用户管理机制来设计Android应用,比如应用目录,应用权限...四、安装流程概述 apk的大体流程如下: 第一步:拷贝文件到指定的目录: 在Android系统中,apk安装文件是会被保存起来的,默认情况下,用户安装apk首先会被拷贝到/data/app目录下...系统在安装这个apk的过程中,会解析apk的AndroidManifest.xml文件,提取出这个apk的重要信息写入到packages.xml文件中,这些信息包括:权限、应用包名、APK安装位置、版本...另外一件事就是Linux的用户Id和用户组Id,以便他们可以获得合适的运行权限。...安装方式的界面 普通的APK安装方式 一般是经过下面的两个界面的 ?

    8.4K42

    Flutter插件开发之APK自动安装

    Flutter插件开发之APK自动安装 本文适用于Android开发人员 什么是Flutter Plugin Flutter Plugin是一种特殊的包,包含一个用Dart编写的API定义,结合Android...相关代码如下[1240] 获取版本号demo 打开插件lib下的dart文件,会有平台自动生成的代码,具体是实现获取APP版本号,如下面代码所示[1240] java部分的代码如下面所示[1240] 实现自动安装...APK 实现自动安装APK,需要从Flutter应用层传入一个APK安装包的地址到host层,dart代码如下所示:[1240] java部分的代码如下所示[1240] 到此,host层就能获取到APK...安装包的路径了,后面只需实现Android安装APK的代码逻辑即可,在日志下面添加如下代码[1240] installApk代码实现如下所示[1240] 除此之外,还需修改AndroidManifest.xml

    2.2K40
    领券