AOSP移除短信应用遇阻求助:已修改MK文件仍无法移除
短信应用(通常对应AOSP中的Messaging模块,包名com.android.messaging)属于和系统Telephony服务强绑定的核心应用,单纯移除PRODUCT_PACKAGES条目可能无法彻底清除,以下是针对性排查步骤:
检查间接依赖引入
部分系统模块(如Telephony服务、系统设置、通话应用)可能通过LOCAL_REQUIRED_MODULES或PRODUCT_REQUIRED_PACKAGES间接依赖短信应用。执行以下命令查看完整产品包依赖链:make dump-products | grep -i messaging如果输出中显示该应用被其他模块标记为依赖,需要找到对应模块的MK文件,移除依赖声明。
检查
PRODUCT_COPY_FILES直接复制规则
部分厂商或定制设备会通过PRODUCT_COPY_FILES将短信APK直接复制到系统目录,而非通过PRODUCT_PACKAGES编译引入。搜索所有MK文件中的相关条目:grep -r "Messaging.apk" device/ vendor/ build/找到类似
vendor/xxx/app/Messaging/Messaging.apk:system/app/Messaging/Messaging.apk的条目并删除。检查通用产品配置文件
AOSP默认的核心产品配置(如build/make/target/product/telephony.mk、core_base.mk)可能包含短信应用的预装声明。打开这些文件,搜索Messaging或Mms相关条目并移除。清理编译缓存重新编译
编译缓存残留可能导致旧APK被打包进镜像,执行以下命令清理后重新编译:make clean make -j$(nproc)也可手动删除
out/target/product/[你的设备型号]/system/app/Messaging目录后再编译。检查变体包配置
如果编译的是Debug或Eng版本,需检查PRODUCT_PACKAGES_DEBUG、PRODUCT_PACKAGES_ENG等变体配置字段,确认短信应用未被包含在这些字段中。
内容的提问来源于stack exchange,提问作者Divyangana

