Android AB升级(一) – 升级各层级模块概述
Android A/B升级又称静默升级,它是一种在系统运行过程中进行的升级功能。为了减...
Android Handler机制:Looper、Handler、MessageQueue、Message的关系
一、概述
Handler是Android中处理异步消息的机制。Looper、Handler、MessageQue...
AOSP 篇之添加可执行程序
本文基于 AOSP Android10_r41 源码环境。
AOSP 添加的可执行程序,可以分为两...
使用 Android Studio 开发系统 App
本文基于 AOSP Android10_r41 源码环境。
1. 编译 framework 模块
系统应用...
Linux应用开发【第九章】GPIO编程应用开发
9 GPIO编程应用开发
9.1 GPIO编程基础介绍
GPIO(General-Purpose IO Ports)...
如何阅读 Android 系统源码 —— C/C++ 篇
1. 工具篇
对于 Android 系统源码中的 C/C++ 代码,CLion 是一个不错的工具。
...
如何阅读 Android 系统源码 —— Java 篇
1. 工具篇 —— AIDEGen + Android Studio
AIDEGen,我叫它 “爱得跟”,大概是 An...
android ContentProvider启动过程分析
ContentProvider是一个可以跨进程的组件,比如我们可以使用通讯录的ContentProvide...
关于 Linux 的常用命令(一)前言什么是 Linux获得 Linux 环境为什么使用命令控制关于 XShell 下的复制粘贴Linux 常用命令ls (罗列文件)cd (切换目录)pwd (显示当前路径)touch (创建一个空文件)c
前言
什么是 Linux
Linux 是一个操作系统, 和 Windows 是 “并列” 的关系, ...
Android Binder 机制——AIDL 的使用和原理分析
AIDL 使用步骤
1.创建 UserManager.aidl 接口文件,声明作为 Server 端的远程 S...
Android Service的启动过程
此前我用较长的篇幅来介绍Android应用程序的启动过程(根Activity的启动过程)...
Linux 内存管理新特性 – Memory folios 解读
一、folio [ˈfoʊlioʊ] 是什么
1.1 folio 的定义
Add memory folios, a new ty...
Tina Linux 存储开发指南
Tina Linux 存储开发指南
1 概述
1.1 编写目的
介绍TinaLinux Flash,分区,文...
源码分析| Resource 加载资源
了解资源的加载过程,实现加载皮肤文件中的资源文件
资源加载
imageView 布...
Android 平台如何编译执行 C C++ 可执行程序
我们直接看一个示例:
写一个 helloworld c++ 可执行程序:
main.c:
# in...
Android 动态分区概念了解
动态分区是Android的用户空间分区系统,从Android Q开始引入这个动态分区super的...
慢~再来梳理一遍Activity的启动流程
前言
activity启动的流程分为两部分:一是在activity中通过startActivity(Inten...
Binder 多线程分析
1. Native 层多线程分析
1.1 客户端线程相关初始化
在 [Binder 程序示例之C...
AOSP 之系统 App 源码添加
1. 如何新建一个系统 App 项目
使用 Android Studio 新建一个空项目 FirstSyst...
深入理解 Linux 的 RCU 机制
RCU(Read-Copy Update),是 Linux 中比较重要的一种同步机制。顾名思义就是“读...


