当前位置: 首页 > news >正文

AOSP 打包之如何新增预装应用

AOSP 打包实战:如何新增预装系统应用

在 Android 系统定制开发中,预装应用是常见需求。本文基于 Android 4.4 源码环境,详细讲解如何将第三方 APK 打包进系统固件。

一、前言

在 AOSP(Android 开源项目)开发中,我们经常需要将特定的应用预装到系统中,使其成为不可卸载的系统级应用。这种需求常见于:

  • 设备厂商预装自家应用
  • 运营商定制应用
  • 企业设备管理应用
  • 系统核心服务应用

本文将手把手教你如何完成这一过程。

二、准备工作

2.1 环境要求

  • AOSP 源码环境(本文基于 Android 4.4)
  • 已成功编译过完整固件
  • 需要预装的 APK 文件

2.2 重要概念

  • 系统应用:位于 /system/app/system/priv-app,具有系统签名
  • 预编译应用:直接使用编译好的 APK,无需源码
  • 平台签名:使用系统平台证书签名,获取系统权限

三、详细步骤

3.1 创建应用目录

首先在 AOSP 源码的 packages/apps/ 目录下创建应用目录:

cd packages/apps/
mkdir TestApp
cd TestApp

将你的 APK 文件复制到该目录,并重命名为与模块名一致:

3.2 编写 Android.mk

创建 Android.mk 文件,这是构建系统的核心配置文件:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)# 模块名称,必须与APK文件名一致(不含.apk后缀)
LOCAL_MODULE := TestApp# 模块标签,optional表示需要显式声明才会编译
LOCAL_MODULE_TAGS := optional# 源文件,即APK文件
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk# 模块类别为应用
LOCAL_MODULE_CLASS := APPS# 模块后缀
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)# 使用平台签名,这是成为系统应用的关键
LOCAL_CERTIFICATE := platform# 可选:声明为特权应用(将安装到system/priv-app)
# LOCAL_PRIVILEGED_MODULE := true# 可选:禁用dex预优化
# LOCAL_DEX_PREOPT := falseinclude $(BUILD_PREBUILT)

3.3 关键配置说明

3.3.1 LOCAL_MODULE_TAGS

  • optional:需要显式声明才会编译(最常用)
  • user:用户版本自动包含
  • eng:工程师版本自动包含
  • debug:调试版本自动包含

建议使用 optional,以便在不同产品中灵活控制。

3.3.2 LOCAL_CERTIFICATE

  • platform:平台签名,系统级权限
  • shared:共享签名
  • media:媒体签名
  • PRESIGNED:使用APK原有签名

系统应用必须使用 platform

3.3.3 特权应用配置

如果要获得更高权限,可以取消注释:

LOCAL_PRIVILEGED_MODULE := true

这样应用将安装到 /system/priv-app/ 而非 /system/app/

3.4 产品配置

在设备的产品配置文件中添加模块声明,这是很多人容易遗漏的关键步骤!

找到你的设备配置文件,通常位于:

device/<厂商>/<产品名>/device.mk
或
device/<厂商>/<产品名>/product.mk

添加一行:

PRODUCT_PACKAGES += XunMigration

3.5 处理APK签名

重要提醒:预装的APK应该:

  1. 使用测试签名
  2. 或者完全不签名

如果APK已有正式签名,需要先去除签名:

# 移除APK中的签名信息
zip -d XunMigration.apk META-INF/\*

系统会在编译时用平台证书重新签名。

3.6 编译验证

3.6.1 开始编译

# 设置环境
source build/envsetup.sh
lunch *****make -j8#### 3.6.2 验证是否打包成功编译完成后,检查输出目录:# 直接查看system目录
ls -la out/target/product/sw773/system/app/ 
看是否有放置的 app
http://www.gsyq.cn/news/175821.html

相关文章:

  • 哪个厂家可定制钻机配件?信誉好有实力的宣化钻机配件推荐厂家腾达钻孔 - 品牌推荐大师1
  • 2026 Deepseek知识库部署服务商深度盘点(实战落地版):企业级本地化部署一步收官实操方案全覆盖 - 品牌2026
  • 井下钻机推荐品牌哪家强?性能好质量优的宣化井下钻机标杆企业认准腾达 - 品牌推荐大师1
  • 永磁同步电机PMSM全速域无速度传感器控制探秘
  • PyTorch分布式训练原理浅析:适用于大规模token生成场景
  • 正能量的dp——树形
  • 2025制造场景工业洗地机品牌选择核心维度深度评测 - 资讯焦点
  • Photoshop 图形与图像处理技术——第3章:图像的选择与填充
  • Transformer多头注意力实现细节
  • 2026企业智能BI私有化部署厂商标杆名录(年度焕新):覆盖智能BI数据可视化、本地部署全场景服务,重塑企业决策新基准 - 品牌2026
  • 2025-2026广东佛山铝型材源头厂家权威评测与选型指南:为何佛山市南海元巢五金制品有限公司领跑行业? - 2025年品牌推荐榜
  • 解决wslregisterdistribution failed问题:顺利运行PyTorch on WSL2
  • SSH代理转发跨跳板机连接PyTorch节点
  • 2025年洞察:普通人入局AI大模型的“最后窗口期”与2026年后的职业路径规划!
  • Java程序员如何系统的学习Spring全家桶?
  • 梯度累积模拟更大batch size
  • 清华镜像站助力PyTorch安装:解决pip慢问题的终极方案
  • 2025年撕碎机厂家推荐榜:撕碎机小型双轴撕碎机/微型撕碎机/万能撕碎机小型/双轴撕碎机小型/小型撕碎机源头厂家精选 - 品牌推荐官
  • Rust 编程语言综合研究报告:2025 年技术演进、工业化应用与生态系统深度解析
  • 2025年度山东美业教育机构排名推荐:山东欧曼谛美业学校学费合理不 - myqiye
  • 2025 年 12 月嘉兴律师服务权威推荐榜:专业离婚、工伤、刑事、企业顾问等领域的资深律师团队深度解析 - 品牌企业推荐师(官方)
  • 12800-000控制面板
  • 2025西南地区最新木门服务厂家TOP5评测!服务深耕于四川、成都、云南等地区,优质品牌及公司深度解析及选择指南,匠心打造理想家居空间 - 全局中转站
  • 创客匠人:智能体赋能 IP 内容分层 —— 破解专家型 IP “高处不胜寒” 的变现困局
  • 2025年度喷淋塔除尘器优质品牌深度解析,水帘除尘器/喷淋塔除尘器/活性炭吸附/滤筒除尘器喷淋塔除尘器工厂口碑推荐榜 - 品牌推荐师
  • AI营销顶级专家揭晓:首推原圈科技韩剑,引领新质生产力
  • 【AI爆肝教程】构建自主AI Agent:从“分不清9.9和9.11“到解决问题,四大核心组件全解析!
  • 61-358683-00控制器
  • SpringBoot自动配置原理
  • Transformer学习率调度策略对比