开发平台基本信息
芯片: 高通SDM450
版本: Android 9.0
kernel: msm-4.9
补丁下载地址
https://gitee.com/Hebin320/csdn_patch
前言
设备终端在进行微信人脸支付认证审核之前,需要对终端的系统进行改造;可以通过微信官网提供的自检app进行校验,查看系统改造是否符合微信的要求,开发检测工具可以通过官网链接下载。
问题描述
在自检app中,有一项整改是需要移除多余的app,具体可参考下图:
解决方法
从上图中可以看出,我们的设备终端含有比较多的微信认为不需要的app;而如果要移除这些app,可以有两种方式;第一种就是在mk文件中,将不需要的app去掉,让系统在编译固件的时候,不要把这些app编译进去;第二种则是在frameworks层进行拦截,在PackageManagerService中将需要移除的app拦截安装。我们项目采用的oem配置的方式,将需要移除的app放到文件中,然后烧写进oem分区,系统在启动的时候读取oem分区,将文件中的应用黑名单读取出来并拦截安装。用oem实现的好处就是不同的客户,可以定制不同的需求,有客户不需要浏览器,有客户又需要浏览器;不同的客户烧录不同的oem镜像,即可达到定制的目的,简单而又方便。修改文件路径是:
frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
具体修改patch如下:
diff --git a/services/core/java/com/android/server/pm/BlacklistUtil.java b/services/core/java/com/android/server/pm/BlacklistUtil.java
new file mode 100755
index 0000000..940b981
--- /dev/null
+++ b/services/core/java/com/android/server/pm/BlacklistUtil.java
@@ -0,0 +1,117 @@
+package com.android.server.pm;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader