专题总纲说明:
本系列文章虽说是 Android 的知识体系专题,同时也是学习Android Framework 系统的一个思路,尤其是当我们对Android 框架层 一点都不了解的时候,但前提是要有 Java 基础和 C/C++基础,常用的数据结构和算法,操作系统基础知识。
0 Android 小团队gerrit服务器搭建
服务器搭建(02)Gerrit服务器SSH & 建仓 & 删仓
服务器搭建(03)Gerrit服务器 权限管理 & Git操作集合
服务器搭建(04)VNC服务的搭建(windows访问Linux)
服务器搭建(09)设置开机启动脚本(ubuntu18.04后)
1 Android framework 开发环境与调试
Android系统基础(04) Android系统源码 编译&烧写
Android系统基础(05) Android系统源码 调试
2 Android Framework 基础知识
2.1 编程基础
2.1.1 C++编程语言
//C++语言基础:
[C++] 类型转换操作符(static_cast、dynamic_cast、const_cast、reinterpret_cast)
[C++] 退出清理函数解读(exit、_exit、abort、atexit)
//C++11 新特性:
[C++11] 基础类型扩展解读(long long、char16_t && char32_t)
[C++11] 智能指针(auto_ptr(弃用)、unique_ptr、shared_ptr、weak_ptr)详细解读
[C++11] 初始化语法、explicit关键字、final && override关键字、delete && default关键字
[C++11] 理解右值引用及相关概念(左值、右值、std::move)
[C++11] 退出清理函数(quick_exit && at_quick_exit)
2.1.2 设计模式基础
//创建型模式
//行为型模式
//结构型模式
2.2 android系统基础知识
2.2.1 android系统核心机制解读
android系统核心机制 基础(01)智能指针wp & sp
android系统核心机制 基础(03)Thread 同步机制
android系统核心机制 基础(04)handler message机制 java
android系统核心机制 基础(05)handler使用案例(Java)
android系统核心机制 基础(06)handler message机制 Native
android系统核心机制 基础(07)AsyncChannel机制浅析
android系统核心机制 基础(09)Android 添加新模块
android系统核心机制 基础(10)Ashmem匿名共享内存机制
2.2.2 Android binder机制从下到上解读
android 系统核心机制binder(01)C语言简谈binder
android 系统核心机制binder(02)binder驱动层原理
android 系统核心机制binder(03)binder C++层实现
android 系统核心机制binder(04)binder C++层 TestServer分析
android 系统核心机制binder(05)servicemanager详解
android 系统核心机制binder(06)binder C++层 TestClient分析
android 系统核心机制binder(07)binder挂掉客户端收到通知
android 系统核心机制binder(08)匿名Service
android 系统核心机制binder(09)binder java层实现
android 系统核心机制binder(10)binder java层JNI初始化
android 系统核心机制binder(11)binder java层 TestServer分析
android 系统核心机制binder(12)binder java层 TestClient 分析
android 系统核心机制binder(13)binder整体分层总结
android 系统核心机制binder(14)binder调试总结
2.2.3 Android 编译系统解读
Android build子系统(01)Ninja构建系统解读
Android build子系统(02)Ninja语法与复杂依赖构建解读
2.2.4 Android 开机启动流程
android 开机启动流程分析(01)init之前启动说明
android 开机启动流程分析(02)init的启动流程分析
android 开机启动流程分析(03)init启动中关键进程 uevent & watchdog
android 开机启动流程分析(04)init启动中关键服务-属性服务
android 开机启动流程分析(05)SE Android 的解读
android 开机启动流程分析(06)init.rc解析流程
android 开机启动流程分析(07)action队列分析
android 开机启动流程分析(09)bootchart 解读
android 开机启动流程分析(10)init 部分整体总结
android 开机启动流程分析(11)Zygote启动分析
android 开机启动流程分析(12)SystemServer启动分析
android 开机启动流程分析(14)SystemServer WatchDog解读
android 开机启动流程分析(15)SystemServer部分服务解读
android 开机启动流程分析(16)Launcher启动
3 Android Framework各子系统解读
3.1 Android Framework AMS子系统
Android Framework AMS(01)AMS启动及相关初始化1-4
Android Framework AMS(02)AMS启动及相关初始化5-8
Android Framework AMS(03)AMS关键类解读
Android Framework AMS(04)startActivity分析-1(am启动到ActivityThread启动)
Android Framework AMS(05)startActivity分析-2(ActivityThread启动到Activity拉起)
Android Framework AMS(06)startActivity分析-3(补充:onPause和onStop相关流程解读)
Android Framework AMS(07)service组件分析-1(APP到AMS流程解读)
Android Framework AMS(08)service组件分析-2(startService和StopService关键流程分析)
Android Framework AMS(09)service组件分析-3(bindService和unbindService关键流程分析)
Android Framework AMS(10)广播组件分析-1(APP到AMS流程解读)
Android Framework AMS(11)广播组件分析-2(注册/注销流程解读)
Android Framework AMS(12)广播组件分析-3(广播发送流程解读)
Android Framework AMS(13)广播组件分析-4(LocalBroadcastManager解读)
Android Framework AMS(14)ContentProvider分析-1(CP组件应用及开机启动注册流程解读)
Android Framework AMS(15)ContentProvider分析-2(getCR及CR.query流程解读)
3.2 Android Framework 输入输出子系统
专题分纲目录 Android Framework 输入子系统
Android Framework 输入子系统(01)核心机制 inotify和epoll
Android Framework 输入子系统(02)核心机制 双向通信(socketpair+binder)
Android Framework 输入子系统(03)输入系统框架
Android Framework 输入子系统(04)InputReader解读
Android Framework 输入子系统(05)InputDispatcher解读
Android Framework 输入子系统(06)Global Key 一键启动 应用程序案例
Android Framework 输入子系统(07)APP建立联系
Android Framework 输入子系统(08)View基础(activity window decor view)
Android Framework 输入子系统(09)InputStage解读
Android Framework 输入子系统(10)Input命令解读
Android Framework 输入子系统(11)sendevent与getevent命令解读
3.3 Android Framework 窗口子系统
专题分纲目录 Android Framework 窗口子系统
Android Framework 窗口子系统(01)WindowMangerService基础知识
Android Framework 窗口子系统(02)应用进程和WMS之间的关系
Android Framework 窗口子系统(03)窗口显示次序
Android Framework 窗口子系统(04)确定窗口尺寸
Android Framework 窗口子系统(05)窗口布局说明
Android Framework 窗口子系统(06)窗口动画之Choreographer机制
Android Framework 窗口子系统(07)窗口动画之Animation & Animator
Android Framework 窗口子系统(08)窗口动画之动画系统框架
3.4 Android Framework 包管理子系统
专题分纲目录 Android Framework 包管理子系统
Android Framework 包管理子系统(01)PackageManagerService启动分析
Android Framework 包管理子系统(02)PackageManagerService关键文件解读
Android Framework 包管理子系统(03)应用安装
Android Framework 包管理子系统(04)应用卸载
Android Framework 包管理子系统(05)intent查询组件
Android Framework 包管理子系统(06)解读installd
3.5 Android 系统升级相关
Android系统升级 Recovery模式(01)Recovery模式启动
Android系统升级 Recovery模式(02)Recovery升级过程
Android系统升级 Recovery模式(03)update-binary模块
3.6 Android Framework 存储子系统
专题分纲目录 Android Framework 存储子系统
Android Framework 存储子系统(01)vold守护进程
Android Framework 存储子系统(02)MountService服务
3.7 Android Framework 电源子系统
专题分纲目录 Android Framework 电源子系统
Android Framework 电源子系统(01)PowerManagerService启动分析
Android Framework 电源子系统(02)系统休眠 wakelock机制
Android Framework 电源子系统(03)核心方法updatePowerStateLocked分析-1
Android Framework 电源子系统(04)核心方法updatePowerStateLocked分析-2
Android Framework 电源子系统(05)核心方法updatePowerStateLocked分析-3
Android Framework 电源子系统(06)电池管理
3.8 Android Framework systemUI 模块
Android SystemUI组件(01)SystemUIService启动
Android SystemUI组件(02)SystemBars分析
Android SystemUI组件(03)状态栏-创建分析
Android SystemUI组件(04)状态栏-Notification显示&管理
Android SystemUI组件(05)状态栏-系统状态图标显示&管理
Android SystemUI组件(06)导航栏创建分析&虚拟按键
Android SystemUI组件(07)锁屏KeyguardViewMediator分析
Android SystemUI组件(08)睡眠灭屏 锁屏处理流程
Android SystemUI组件(09)唤醒亮屏 锁屏处理流程
Android SystemUI组件(10)禁用/重启锁屏流程分析
Android SystemUI组件(11)SystemUiVisibility解读
3.9 Android Framework 音频子系统
专题分纲目录 Android Framework 音频子系统
Android Framework 音频子系统(01)音频基础知识
Android Framework 音频子系统(02)音频系统框架
Android Framework 音频子系统(03)AudioPolicyService启动分析
Android Framework 音频子系统(04)AudioFlinger启动分析
Android Framework 音频子系统(05)AudioTrack使用案例
Android Framework 音频子系统(06)AudioTrack创建
Android Framework 音频子系统(07)AudioTrack数据传递
Android Framework 音频子系统(08)PlaybackThread处理混音数据流程
Android Framework 音频子系统(09)耳麦插拔之流程分析
Android Framework 音频子系统(10)耳麦插拔之应用案例
Android Framework 音频子系统(11)耳麦插拔之声音通道切换
Android Framework 音频子系统(12)HAL层分析
Android Framework 音频子系统(13)音量调节之基础
Android Framework 音频子系统(14)音量调节之音量键处理流程
Android Framework 音频子系统(15)音量调节之Setting界面调节音量流程
Android Framework 音频子系统(16)AudioRecord案例
Android Framework 音频子系统(17)AudioRecord框架
3.10 Android SurfaceFlinger显示子系统
专题分纲目录 Android GUI系统之SurfaceFlinger
//SurfaceFlinger导读系列,重在理解基本概念
Android SurfaceFlinger导读(01) surfaceFlinger设计师
Android SurfaceFlinger导读(02)理解MessageQueue
Android SurfaceFlinger导读(03)理解MessageBase
Android SurfaceFlinger导读(04)理解BufferQueue
Android SurfaceFlinger导读(05)理解fence机制
Android SurfaceFlinger导读(06)理解Region
Android SurfaceFlinger导读(07)理解HWComposer
Android SurfaceFlinger导读(08)理解Gralloc1 FrameBuffer
Android SurfaceFlinger导读(09)理解Gralloc2 内存分配
Android SurfaceFlinger导读(10)理解DisplayDevice
//SurfaceFlinger流程解读系列,重在理解代码流程
Android GUI系统之SurfaceFlinger(01)显示系统框架
Android GUI系统之SurfaceFlinger(02)应用端分析1-获取Surface
Android GUI系统之SurfaceFlinger(03)应用端分析2-申请Buffer
Android GUI系统之SurfaceFlinger(04)应用端分析3-提交Buffer
Android GUI系统之SurfaceFlinger(05)VSync机制
Android GUI系统之SurfaceFlinger(06)服务端分析1-处理VSYNC
Android GUI系统之SurfaceFlinger(07)服务端分析2-handleMessageTransaction处理
Android GUI系统之SurfaceFlinger(08)服务端分析3-handleMessageInvalidate处理
Android GUI系统之SurfaceFlinger(09)服务端分析4-handleMessageRefresh处理
4 Android Framework 常见解决方案总结
专题分纲目录 Android Framework 常见解决方案
Android Framework 常见解决方案(01)关闭SELinux
Android Framework 常见解决方案(02)android系统级APP集成方案
Android Framework 常见解决方案(03)android系统 资源文件添加
Android Framework 常见解决方案(04)禁止锁屏 解决方案
Android Framework 常见解决方案(05)Android默认所有应用横屏 解决方案
Android Framework 常见解决方案(06)input命令 模拟鼠标滚轮 解决方案
Android Framework 常见解决方案(07)Android开机启动 Native daemon 解决方案
Android Framework 常见解决方案(08)Android 禁止各种权限弹窗 解决方案
Android Framework 常见解决方案(09)bootanimation制作 解决方案
Android Framework 常见解决方案(10)关闭蓝牙配对对话框 & 关闭蓝牙忘记设备对话框
Android Framework 常见解决方案(11)关闭View Full Screen弹窗
Android Framework 常见解决方案(12)生成系统签名 & 安卓源码编译自定义SDK android.jar
Android Framework 常见解决方案(13)默认休眠时间修改 解决方案
Android Framework 常见解决方案(14)修改默认usb模式为MTP
Android Framework 常见解决方案(15)android内置可卸载APP集成方案
Android Framework 常见解决方案(16)android多VirtualDisplay交互方法
Android Framework 常见解决方案(17)Broadcast调起输入法界面并实现文本传输的方法
Android Framework 常见解决方案(18)开机启动并设置默认输入法
Android Framework 常见解决方案(19)音量/电源按键默认事件不响应方案
Android Framework 常见解决方案(20)UDP广播无效问题
Android Framework 常见解决方案(21)默认开启adb
Android Framework 常见解决方案(22)防应用被LowMemoryKillerDaemon(LMKD)杀掉
Android Framework 常见解决方案(23)三方应用APP启动绑核setAffinity设置
Android Framework 常见解决方案(24)去除 Android正在启动/Android is Starting 弹窗
Android Framework 常见解决方案(25-1)定制CPUSET解决方案-framework部分修改
Android Framework 常见解决方案(25-2)定制CPUSET解决方案-system修改及编译部分调整
Android Framework 常见解决方案(26)user版本可root方案
Android Framework 常见解决方案(27) adb局部命令生效解决方案