首页
IT
登录
6mi
u
盘
搜
搜 索
IT
[RK3288][Android6.0] 调试笔记 --- apk安装添加黑名单
[RK3288][Android6.0] 调试笔记 --- apk安装添加黑名单
xiaoxiao
2021-04-17
56
Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92 出于定制考虑,需要把系统一些不必要的apk移除,但是一个个找又太麻烦, 在不考虑存储空间的情况下可以通过禁止安装的方式来实现. 原理就是在安装apk之前检查当前apk是否处于禁止安装黑名单中,是的话就不让安装. 改动如下: [kris@:~/rk3288/frameworks/base]$ g df diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/Pack index 5842256..9fd15fc 100755 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -5792,8 +5792,34 @@ public class PackageManagerService extends IPackageManager.Stub { return true; } + /*Kris, 170414, Add app black list that unnecessary to install. { */
+
private boolean is_black_list(String file) { + String[] black_list = { + "/system/app/DeskClock", + "/system/app/Bluetooth", + "/system/app/Exchange2", + "/system/app/QuickSearchBox", + "/system/app/Calendar", + "/system/priv-app/CalendarProvider", + "/system/app/Email", + "/system/app/Development", + "/system/priv-app/Contacts", + "/system/priv-app/ContactsProvider", + "/system/priv-app/DownloadProvider", + "/system/app/DownloadProviderUi", + "/system/app/ExactCalculator", + "/system/app/RkApkinstaller", + "/system/app/Rk4kVideoPlayer" + }; + + List<String> list =Arrays.asList(black_list); //String数组不能直接用contains,需要转成list. + return list.contains(file); + }
+ /*Kris, 170414, Add app black list that unnecessary to install. }*/ + private void scanDirLI(File dir, int parseFlags, int scanFlags, long currentTime) { final File[] files = dir.listFiles(); + if (ArrayUtils.isEmpty(files)) { Log.d(TAG, "No files in app dir " + dir); return; @@ -5811,6 +5837,13 @@ public class PackageManagerService extends IPackageManager.Stub { // Ignore entries which are not packages continue; } + /*Kris, 170414, Add app black list that unnecessary to install. { */
+ if (is_black_list(file.toString())) { + Slog.i(TAG, "Ignore install "+ file); + continue; + }
+ /*Kris, 170414, Add app black list that unnecessary to install. } */ + try { scanPackageLI(file, parseFlags | PackageParser.PARSE_MUST_BE_APK, scanFlags, currentTime, null); 参考: https://zhidao.baidu.com/question/1177222105321892139.html
转载请注明原文地址: https://ju.6miu.com/read-674348.html
技术
最新回复
(
0
)