AOSP 篇之添加 Product
1. 什么是 Product
在 App 的开发中,我们要去打渠道包,根据不同应用市场的要...
基于Android T:包管理机制详解(上)
前言
PackageManagerService(简称PKMS)是Android系统核心服务之一,和AMS,WM...
基于Android T:包管理机制详解(下)
前言
前面一篇文章我们讲解了PKMS的启动过程。
PKMS启动过程中主要做了以下事情...
Android AB升级(三) – update engine架构概述
update engine是通过AIDL对上层client端和server端分离,实现跨进程。上层提供服...
Binder之Java 层服务过程分析
1. Framework 层的 JNI 函数封装
Framework 对常用的 JNI 函数做了封装:
n...
Android UpdateEngine模块流程(含序列图)
Android A/B升级又称静默升级,它是一种在系统运行过程中进行的升级功能。为了减...
添加开机自启动 Shell 脚本
很多时候,我们想在系统启动的时候干一些“私活”,这个时候,我们就可以添加开机自...
Linux 驱动开发入门
1. 编写一个简单的 Linux 内核模块
首先,我们需要理解什么是内核模块?简单来...
Linux应用开发【第六章】网络编程应用开发
6 网络编程应用开发
6.1 网络编程简介
要编写通过计算机网络通信的程序,首...
Linux应用开发【第三章】输入系统应用开发
3 输入系统应用开发
3.1 什么是输入系统?
在了解输入系统之前,先来了解什...
Android | 理解 Window 和 WindowManager
前言
Window 是一个窗口的概念,是所有视图的载体,不管是 Activity,Dialog,...
SeAndroid 使用极速上手
1. 基本概念
SEAndroid 是一种安全系统,相关的概念和术语对于初学者来说都相...
Android 系统架构及HAL层概述
了解宏观上Android系统架构,硬件抽象层HAL层HIDL和AIDL接口定义语言、内核kernel...
Linux Shell 脚本编程入门2——脚本自动化基础
tftp 0x60003000 uImage;tftp 0x60500000 vexpress-v2p-ca9.dtb;setenv bootargs ...
Android IME输入法启动&显示&隐藏流程梳理以及常见问题&调试技巧小结
阅读Android AOSP 12版本代码,对输入法IME整体框架模块进行学习梳理,内容包含输...
Binder 多线程分析
1. Native 层多线程分析
1.1 客户端线程相关初始化
在 [Binder 程序示例之C...
Android Framework知识整理:WindowManager体系(上)
前言
大家好,由于工作和面试需要,笔者结合大佬们的经验以及自身对源码理解,...

