场景描述
android系统system分区大小是固定,如果system分区大小超过云机system分区固定大小,system分区升级时会占用下个分区内存,导致基线分区地址错乱、系统升级失败、系统启动崩溃。
内置应用配置过多,会导致system.img镜像过大。但客户需求安装多个应用,且安装应用标记为系统应用,不可卸载处理。
方案设计
在系统/data/local/config/路径下配置不可卸载应用NoDeleteApp列表项,根据配置列表,应用安装解析应用包和云机重启扫描解析应用包过程中,标记改应用为系统应用,应用在卸载时,设置不可卸载。
可行性场景分析
android系统adb命令、pm命令、静默安装、packageInstaller等应用安装方式,最终Binder IPC方式调用PackageManagerService服务的verifyPendingInstall-->installPackageLI方法,同时PackageParser.java-->parseBaseApkCommo