替换原生APP
LOCAL_OVERRIDES_PACKAGES:= Calculator
ROM中有多个可以提供相同功能的APP时,系统在用户使用时会提示用户进行选择,而且用户可以选择某个APP作为这项功能的默认应用,这样以后使用此项功能时,直接就启动默认APP,比如我们自己有一款浏览器APP,而且也不打算顶替掉原生的浏览器,但我们想提前随ROM一起设置自己为默认的浏览器软件。下面依此为例进行介绍:
Android系统将系统中所有已经安装的APP信息都记录在一个xml文件里,路径为:
/data/system/users/{user-id}/package-restrictions.xml
在这个文件里,详细记录了每个APP的各种组件信息,而APP默认设置的地方就保存在类似下面的块内容里:
package-restrictions.xml文件的生成是由PackageManager在开机阶段通过遍历 data/app, system/app, system/priv-app目录,并结合源码编译阶段的另一些配置文件来生成的,这些配置文件位于/system/etc/preferred-activities/*.xml目录,是编译阶段从源码中直接copy过来的,所以我们需要按格式要求书写我们的xml文件,并想办法让编译系统自动将xml文件复制到system/etc/prefeered-activities/目录下:
网友评论