提示:Android12 系统Rom去App-电话、短信、通讯录、录音机、日历、时钟、图库、相机、图库、删除豌豆夹、搜狗输入法、信号源、
文章目录
- [前言 - 场景-需求](#前言 - 场景-需求)
- 一、参考资料
- 二、坑点-难点
- 三、涉及到文件修改
- 四、实现方案
-
- [去掉日历-联系人-时钟-图库app - 关联文件-handheld_product.mk](#去掉日历-联系人-时钟-图库app - 关联文件-handheld_product.mk)
- [去掉信息-联系人-图库-文件-闹钟-app - 关联文件-device.mk](#去掉信息-联系人-图库-文件-闹钟-app - 关联文件-device.mk)
- 去掉电话App
- 五、知识点扩展
-
- 1、标准Android模块名(AOSP)
- [2. MTK常见定制模块名](#2. MTK常见定制模块名)
- 总结
前言 - 场景-需求
这其实是一个特别普通的正常需求,这里侧重于总结知识点-总结经验
- 方便后续搞笑开发
- 这里以 MTKAndroid12 为基础案例说明。 其它不同平台和不同版本有参考意义
商显产品,部分定制化产品对界面上面显示app 要求比较高,可能界面只会显示自己一两个应用,但是主页Home程序又是用的Launcher3,需要去掉大量无关应用,防误点击。
比如如下,客户实际产品的主界面就只有三个App,如下:

一、参考资料
之前 去 App 场景,有一定的参考价值,针对具体的场景:非GMS 产品、去某一个App 要知道在哪里去,怎么去。
Android13 - MTK平台系统去掉- 短信-电话-通讯录App实现
Android系统去4G相关选项-SIM卡-移动网络-短信-电话-通讯录App
二、坑点-难点
去App 需求,本身是一个比较成熟的需求,或者说是一个常见需求,这里面有几个注意点或者方法需要注意,不然搞不出来,很难搞定、实现需求。
- 去App 靠经验,找到对应的编译文件 一般情况是 .mk
- 你要去App,你要知道app 在编译脚本里面的module 名字是什么,针对性去掉。
- 去app 存在这样的步骤: GMS->AOSP->平台【RK、MTK、全职、高通、展锐】,首先理解这个层级关系优先级关系,不然去不掉
- 部分App 没法也并不是在编译文件里面配置的,所以屏蔽即可,典型的就是电话App
- 对于绝绝绝大多数开发者而言,去掉App,强烈不建议去掉服务,系统是一个复杂的体系,去掉服务极易引起各种崩溃,自己无法搞定的。 比如电话一套都是互相联系的,去了服务、provider 说不定射频、SIM相关的就崩掉了。
三、涉及到文件修改
MTK 平台下,这两个配置文件特别重要,无论Android12 还是 Android13 版本
java
device/mediatek/system/common/device.mk
build/make/target/product/handheld_product.mk
四、实现方案
去掉日历-联系人-时钟-图库app - 关联文件-handheld_product.mk
路径:build/make/target/product/handheld_product.mk ,直接屏蔽 编译的App

去掉信息-联系人-图库-文件-闹钟-app - 关联文件-device.mk
路径:device/mediatek/system/common/device.mk ,直接屏蔽 编译的App

去掉电话App
这个如之前笔记,见参考资料,电话比较特殊,直接屏蔽电话app 里面配置文件,不让显示不让有App图标,且不让能够接受外界调用的配置
路径:
/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/dialer/main/impl/AndroidManifest.xml
这里思路是啥子呢? 可能会问, 为啥改到了这里,不是应该在编译文件里面直接隔离不就行了嘛? 我这样想的:
- 部分app 是核心app,不能够删除的
- 部分app 删除不仅仅是从中间层删除,这里面涉及到很多内容甚至包括射频相关,所以系统从安全角度不会简单配置在编译脚本里面,简单删除即可。
所以,这里思路就是让App 不让显示,如我们系统Launcher,去掉非Launcher属性,实现第三方应用默认就一个Launcher 的需求。
修改内容如下:

核心逻辑就是去掉启动界面 LAUNCHER属性、 监听属性
五、知识点扩展
1、标准Android模块名(AOSP)
在MTK平台中,系统应用通常沿用AOSP的模块名,以下是对应的编译模块名称:
| 应用名称 | 模块名(Android.mk中LOCAL_PACKAGE_NAME) | 常见路径 |
|---|---|---|
| 电话 | Dialer | packages/apps/Dialer |
| 短信 | Messaging | packages/apps/Messaging |
| 通讯录 | Contacts | packages/apps/Contacts |
| 录音机 | SoundRecorder | packages/apps/SoundRecorder |
| 日历 | Calendar | packages/apps/Calendar |
| 时钟 | DeskClock | packages/apps/DeskClock |
| 图库 | Gallery2 | packages/apps/Gallery2 |
| 相机 | Camera2 | packages/apps/Camera2 |
注意:MTK可能会有自己的定制版本,模块名可能带有Mtk前缀,如MtkCamera、MtkGallery等。
2. MTK常见定制模块名
| 应用 | 可能使用的MTK模块名 |
|---|---|
| 相机 | MtkCamera、Camera、Camera2 |
| 图库 | MtkGallery、Gallery、Gallery2 |
| 电话 | MtkDialer、Dialer |
| 短信 | MtkMms、Messaging |
总结
- 这个去应用需求本身是一个比较成熟的需求,必须掌握
- 这里涉及到修改哪里、编译脚本在哪里是哪个文件、对应的app 是怎么表示的
- 还是需要在不断事件中去提升个人能力