赞
踩
在进行13.0的产品定制化开发中,对于一些无源码app需要更换icon的功能,对于有源码app还是特别简单的如果没有源码就需要从开机PMC解析app的时候替换掉icon 就可以了,
接下来分析下相关的功能,来实现这个功能
-
- /frameworks/base/core/java/android/content/pm/parsing/ParsingPackageUtils.java
在13.0的系统中启动的时候,在pms负责扫描安装app的时候,先读取packages.xml文件,解析后将数据存放到mSettings中,代表上次启动时的应用包信息。
然后扫描所有APK目录并解析APK,最后更新packages.xml文件。而 packages.xml文件 是在 Settings 构造方法中创建。
data/app 是用户已安装App所在的目录,另外还有system/app存放 系统App。PMS构造方法中会对 这两个目录在内的多个目录进行扫描,
我们这里可以猜想到这是开机时对所有已安装App的初始化。scanDirTracedLI()又走到scanDirLI(),
解析安装授权app的时候是在ParsingPackageUtils.java中负责的下面就来看下相关源码,来分析功能如何实现
- private ParseResult<ParsingPackage> parseBaseApk(ParseInput input, String apkPath,
- String codePath, Resources res, XmlResourceParser parser, int
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。