Recent posts

Android UpdateEngine模块流程(含序列图)

7 minute read

Android A/B升级又称静默升级,它是一种在系统运行过程中进行的升级功能。为了减小系统运行负荷,整个升级过程会保持在一个较低的IO状态,所以升级时间比recovery升级明显要长。本文是基于Android 12 AOSP源码,对update engine模块的流程进行梳理,最主要的内容是绘制的几张序列...

Android 系统架构及HAL层概述

7 minute read

了解宏观上Android系统架构,硬件抽象层HAL层HIDL和AIDL接口定义语言、内核kernel、设备树叠加层DTO等

Android 项目构建编译概述

3 minute read

主要内容是Android AOSP源码的管理方式,项目源码的构建和编译,用到比如git、repo、gerrit一些命令工具,以及使用Soong编译系统,编写Android.bp文件的格式样式。

Android 动态分区配置原生示例

4 minute read

动态分区分为原生动态分区和改造动态分区两种配置方式,其中包含开关配置和参数配置,以Android Q源码给出的原生示例为参考。

Android 动态分区相关模块和常用工具

4 minute read

Android动态分区功能编译和调试用到的lpmake、lpdump、lpunpack、dmctl等命令工具,以及涉及到的一些库模块,比如liblp、lipdm等。

Android 动态分区概念了解

4 minute read

动态分区是Android的用户空间分区系统,从Android Q开始引入这个动态分区super的概念。使用此分区系统,可以在无线下载 (OTA) 更新期间创建、销毁分区或者调整分区大小。借助动态分区,供应商无需担心各个分区(例如 system、vendor 和 product)的大小。取而代之的是,设备分配...

Android AB升级(三) - update engine架构概述

2 minute read

update engine是通过AIDL对上层client端和server端分离,实现跨进程。上层提供服务绑定接口,以及升级触发和回调接口,底层实现升级的具体逻辑。本篇只是简单梳理下流程流转的过程。

Android badblock磁盘坏道检测调试

2 minute read

Android升级的时候在FilesystemVerifierAction出现某分区Buffer I/O error读写失败,上报错误码1(error)。从问题现象看需要针对该分区进行磁盘坏道检测,分析是否是因为磁盘损坏导致。