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

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、分析系统组件

  1. 系统分区:了解 /system 分区的内容,包括:

    • /system/app:预装应用

    • /system/priv-app:特权应用

    • /system/framework:系统框架

    • /system/lib 和 /system/lib64:库文件

    • /system/bin 和 /system/xbin:可执行文件

  2. 依赖关系:使用工具分析组件间的依赖,避免误删关键组件。

4. 裁剪系统

  1. 移除预装应用:删除 /system/app 和 /system/priv-app 中不需要的应用。

  2. 精简系统服务:在 /system/framework 和 /system/etc/permissions 中移除不必要的服务和权限。

  3. 删除库文件:在 /system/lib 和 /system/lib64 中移除未使用的库文件。

  4. 移除可执行文件:在 /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

    相关文章:

    Android AOSP系统裁记录

    Android 系统裁剪是指根据需求移除不必要的组件和功能,以优化系统性能、减少存储占用或满足特定设备需求。以下是 Android 系统裁剪的基本步骤: 1. 准备环境 操作系统:推荐使用 Ubuntu 或 macOS。 工具: Android SDK Android N…...

    音乐游戏Dance Dance Revolution(DDR)模拟器

    文章目录 (一)Dance Dance Revolution(1.1)基本情况(1.2)机体 (二)模拟器(2.1)主程序(2.2)模拟器主题 (三)曲谱…...

    Lua的table(表)

    Lua表的基本概念 Lua中的表(table)是一种多功能数据结构,可以用作数组、字典、集合等。表是Lua中唯一的数据结构机制,其他数据结构如数组、列表、队列等都可以通过表来实现。 表的实现 Lua的表由两部分组成: 数组部分…...

    ZT36 小红和小紫的取素因子游戏

    描述 小红和小紫拿到了一个正整数x,她们每次可以选择x的一个因子k(k>1),把x除以k,但要求k必须是素数。小红先手,谁先不能操作谁输。假设两人都足够聪明,最终谁取得胜利? 共进行t次游戏。 输入描述&…...

    C# 使用 Newtonsoft.Json 序列化和反序列化对象实例

    Newtonsoft.Json(也被称为 Json.NET)是一个广泛使用的用于在 C# 中进行 JSON 序列化和反序列化的开源库。下面将详细介绍如何使用它来序列化和反序列化对象。 1. 安装 Newtonsoft.Json 如果你使用的是 Visual Studio,可以通过 NuGet 包管理…...

    用 AI 工具提升 UX/UI 设计效率:从研究到原型

    —————————————————— 用 AI 工具提升 UX/UI 设计效率:从研究到原型 开篇引言: 在 UX/UI 设计领域,效率与创意之间的平衡一直是设计师们追求的目标。随着 AI 工具的崛起,设计师们不仅能更快地完成任务&#xff0c…...

    操作系统知识点12

    1.在操作系统的结构设计中,采用层次结构的操作系统其最大优点是把整体问题局部化 2.非特权指令是指操作系统和用户均可以使用的指令 3.向处理器发出的中断信号称为中断请求 4.轮转法RR是单纯基于时间片考虑的 5.当进程处于就绪状态时,表示进程已获得…...

    FASIONAD:自适应反馈的类人自动驾驶中快速和慢速思维融合系统

    24年11月来自清华、早稻田大学、明尼苏达大学、多伦多大学、厦门大学马来西亚分校、电子科大(成都)、智平方科技和河南润泰数字科技的论文“FASIONAD : FAst and Slow FusION Thinking Systems for Human-Like Autonomous Driving with Adaptive Feedbac…...

    Redis7——基础篇(八)

    前言:此篇文章系本人学习过程中记录下来的笔记,里面难免会有不少欠缺的地方,诚心期待大家多多给予指教。 基础篇: Redis(一)Redis(二)Redis(三)Redis&#x…...

    nvm安装

    1.下载安装包 从官网下载https://github.com/nvm-sh/nvm/releases 这里下的是nvm-0.40.1.tar.gz 2.解压 tar -zxvf nvm-0.40.1.tar.gz 3. 修改配置文件 vi ~/.bashrc 在最后一行添加如下内容 export NVM_DIR"/usr/local/nvm-0.40.1"[ -s "$NVM…...

    基于vue框架的游戏博客网站设计iw282(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

    系统程序文件列表 项目功能:用户,博客信息,资源共享,游戏视频,游戏照片 开题报告内容 基于FlaskVue框架的游戏博客网站设计开题报告 一、项目背景与意义 随着互联网技术的飞速发展和游戏产业的不断壮大,游戏玩家对游戏资讯、攻略、评测等内容的需求日…...

    spring MVC执行流程

    详细的项目结构 src ├── main │ ├── java │ │ ├── com.example │ │ │ ├── config │ │ │ │ └── SpringMvcInitializer.java // 配置 DispatcherServlet │ │ │ │ └── SpringConfig.java // Sprin…...

    递归遍历目录 和 普通文件的复制 [Java EE]

    递归遍历目录 首先 先列出当前目录所包含的内容 File[] files currentDir.listFiles();if (files null || files.length 0) {// 若是空目录或非法目录, 则直接返回return;} 然后 遍历列出的文件, 分情况两种讨论 for (File f: files) {// 加个日志, 方便查看程序执行情…...

    如何在docker上部署java服务

    目录结构 首先 Dockerfile FROM bladex/alpine-java:openjdk17_cn_slimMAINTAINER admin@rsz.comENV TZ=Asia/ShanghaiRUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN mkdir -p /xhWORKDIR /xhEXPOSE 8106ADD ./blade-system.…...

    Machine Learning 初探

    前置知识 pandas 读取文件:read_csv查看信息 describe:查看整体信息,包括每列的平均值、最大最小值、标准差等head:输出头部几行数据columns:输出所有列名loc:查询数据,或是根据索引取对应的数…...

    GESP2024年12月认证C++三级( 第三部分编程题(1)数字替换)

    参考程序&#xff1a; #include <iostream> #include <vector> #include <algorithm> using namespace std; int a[100010]; // 定义一个数组a&#xff0c;用于存储序列A&#xff0c;数组大小为100010 int main() {int n, k; // 定义变量n和k&#xff0c;…...

    IDEA-插件开发踩坑记录-第六坑-UAST依赖问题

    背景 简要说明&#xff1a; UAST – Unified Abstract Syntax Tree UAST (Unified Abstract Syntax Tree) is an abstraction layer on the PSI of different programming languages targeting the JVM (Java Virtual Machine). It provides a unified API for working with co…...

    单片机总结【GPIO/TIM/IIC/SPI/UART】

    一、GPIO 1、概念 通用输入输出口&#xff1b;开发者可以根据自己的需求将其配置为输入或输出模式&#xff0c;以实现与外部设备进行数据交互、控制外部设备等功能。简单来说&#xff0c;GPIO 就像是计算机或微控制器与外部世界沟通的 “桥梁”。 2、工作模式 工作模式性质特…...

    信号和槽

    connect(信号发送者&#xff0c;发送的信号&#xff0c;信号接收者&#xff0c;信号的处理); 信号函数和槽函数的参数必须是一样的&#xff0c;但信号的参数可以多余槽函数的参数&#xff08;前面的参数类型必须一致&#xff09; 是控件和控件间的信号传递&#xff0c;这两个…...

    Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)

    文章目录 Redis下载地址&#xff1a;一、zip压缩包方式下载安装 1、下载Redis压缩包2、解压到文件夹3、启动Redis服务4、打开Redis客户端进行连接5、使用一些基础操作来测试 二、msi安装包方式下载安装 1、下载Redis安装包2、进行安装3、进行配置4、启动服务5、测试能否正常工…...

    ovn 配置逻辑路由器实现三层转发

    本文使用ovn搭建一个三层转发的环境,拓扑图如下 image.png 两个虚拟交换机ls1和ls2,端口ip网段分别为 10.10.10.0/24和 10.10.20.0/24。 虚拟交换机上分别连接两个vm(使用namespace模拟),使用dhclient动态获取ip。 一个虚拟路由器lr1,连接两个虚拟交换机ls1和ls2,实现跨网…...

    从像素大陆到现实世界:Pixel Epic生成的研报被期刊录用的真实案例

    从像素大陆到现实世界&#xff1a;Pixel Epic生成的研报被期刊录用的真实案例 1. 当游戏化AI遇见学术研究 在科研领域&#xff0c;撰写高质量研究报告一直是项耗时费力的工作。传统AI辅助工具虽然能提高效率&#xff0c;但往往缺乏创意和趣味性。Pixel Epic的出现改变了这一现…...

    PyTorch 2.5 入门必备:开箱即用镜像快速上手指南

    PyTorch 2.5 入门必备&#xff1a;开箱即用镜像快速上手指南 1. 为什么选择PyTorch 2.5镜像&#xff1f; 深度学习环境配置一直是新手入门的第一道门槛。传统的手动安装方式需要处理CUDA驱动、cuDNN、Python包依赖等一系列复杂问题&#xff0c;往往耗费数小时甚至数天时间。P…...

    GetQzonehistory终极指南:三步备份QQ空间所有历史说说

    GetQzonehistory终极指南&#xff1a;三步备份QQ空间所有历史说说 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心那些记录着青春时光的QQ空间说说会随着时间流逝而消失&…...

    Unlock Music技术解析:音乐格式解密与跨平台播放实践指南

    Unlock Music技术解析&#xff1a;音乐格式解密与跨平台播放实践指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: ht…...

    C++的std--ranges系统支持

    C20引入的std::ranges系统彻底改变了算法与容器的交互方式&#xff0c;为现代C编程带来了声明式编程范式和更强的类型安全性。这一革新不仅简化了代码&#xff0c;还通过编译期优化提升了性能&#xff0c;成为近年来标准库最重要的进化之一。下面从三个关键角度解析其核心价值。…...

    seo泛站群的合法性问题如何避免_seo泛站群的运营团队应该怎样组建

    SEO泛站群的合法性问题如何避免 在当前的互联网市场中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;是一个重要的营销手段&#xff0c;其中泛站群&#xff08;SEO泛站群&#xff09;作为一种策略被广泛使用。泛站群的合法性问题和操作风险也随之而来。本文将深入探讨如…...

    Element UI Radio组件多选换行终极解决方案(附完整代码示例)

    Element UI Radio组件多选换行终极解决方案&#xff08;附完整代码示例&#xff09; 在企业级后台管理系统开发中&#xff0c;表单控件的美观性和功能性同样重要。Element UI作为Vue.js生态中广泛使用的组件库&#xff0c;其Radio组件在多选场景下的换行问题常常困扰开发者。本…...

    d2s-editor:让暗黑破坏神2存档修改变得简单安全

    d2s-editor&#xff1a;让暗黑破坏神2存档修改变得简单安全 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 对于暗黑破坏神2玩家而言&#xff0c;修改存档往往是一把双刃剑——既想个性化角色体验&#xff0c;又担心损坏文件或失…...

    终极DDrawCompat使用指南:让经典游戏在现代Windows系统完美运行

    终极DDrawCompat使用指南&#xff1a;让经典游戏在现代Windows系统完美运行 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/…...