Android AOSP系统裁记录
Android 系统裁剪是指根据需求移除不必要的组件和功能,以优化系统性能、减少存储占用或满足特定设备需求。以下是 Android 系统裁剪的基本步骤:
1. 准备环境
-
操作系统:推荐使用 Ubuntu 或 macOS。
-
工具:
-
Android SDK
-
Android NDK
-
JDK
-
Git
-
Repo 工具
-
-
源码:从 Android 开源项目 (AOSP) 获取。
参考 AOSP 源码编译android 12_aosp android12源码-CSDN博客
2. 获取 AOSP 源码
跳过详情可参考: AOSP 源码编译android 12_aosp android12源码-CSDN博客
AOSP 系统镜像包含以下主要分区:
-
/system
:系统核心分区,包含系统应用、库、框架等。 -
/vendor
:厂商定制分区,包含硬件相关的驱动和 HAL 层。 -
/product
:产品定制分区,包含预装应用和配置文件。
3、分析系统组件
-
系统分区:了解
/system
分区的内容,包括:-
/system/app
:预装应用 -
/system/priv-app
:特权应用 -
/system/framework
:系统框架 -
/system/lib
和/system/lib64
:库文件 -
/system/bin
和/system/xbin
:可执行文件
-
-
依赖关系:使用工具分析组件间的依赖,避免误删关键组件。
4. 裁剪系统
-
移除预装应用:删除
/system/app
和/system/priv-app
中不需要的应用。 -
精简系统服务:在
/system/framework
和/system/etc/permissions
中移除不必要的服务和权限。 -
删除库文件:在
/system/lib
和/system/lib64
中移除未使用的库文件。 -
移除可执行文件:在
/system/bin
和/system/xbin
中删除不必要的可执行文件。
5. 编译系统
1.设置编译环境:
source build/envsetup.sh
lunch
2.选择目标设备并编译:
make -j4
6. 刷机测试
1.将编译生成的镜像刷入设备:
fastboot flash system system.img
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot reboot