你可能正在为这些问题头疼:

Android 系统开发门槛太高,想深入核心却找不到下手的地方?明明会写 Java 或 C++,但在 Binder 机制面前完全摸不着头脑,不知道数据怎么跨进程传递?面对 AOSP 源码不敢动,想定制系统或开发系统级 App 时,连怎么添加服务和回调都一头雾水?如果你属于后端开发想转岗移动端底层,或者想从应用层开发进阶到框架层,但现有的教程只讲皮毛,缺乏代码级剖析,那这套内容就是为你准备的。

课程核心:打通 Android 底层通信与系统定制任督二脉

本课程聚焦 Android 框架核心,不讲花架子,专攻系统定制与进程间通信(IPC)的底层实现。内容从玩转 AOSP 源码环境开始,带你一步步搭建开发基础,随后深入剖析 Binder 机制这一 Android 系统的“灵魂”。课程详细拆解了 Binder 在 C 语言、C++ 以及 Java 三层架构中的完整工作流程,包括服务注册、获取、使用以及驱动层面的情景分析。对于想开发系统级 App 的同学,课程重点讲解了如何在 System Server 中注册服务、添加可执行程序及 Native 服务,并手把手演示了 AIDL 的生成、数据类型定义及跨语言调用(Java 调 C++、Native 调 Java)的全过程。学完这里,你不再只是调用 API 的程序员,而是能看懂并修改系统源码的框架开发者。

学习建议与资料配合:按图索骥,动手实操

这门课适合有一定 Java/C++ 基础,希望挑战 Android 系统开发的中级开发者,或准备转岗的移动端/后端工程师。建议先看“系统开发工具推荐”和"AOSP 环境搭建”部分,确保开发环境跑通。学习 Binder 专题时,请务必配合视频讲解同步打开对应的源码包,对照 C 语言、C++ 和 Java 的示例代码进行阅读。资料包中的视频涵盖了从预备知识到驱动分析、再到具体语言示例的完整链路,建议按章节顺序观看,每看完一个原理视频,立刻去资料包里的源码文件里找到对应的代码块(如 `Servic`、`ServiceMan` 等类),手动走一遍代码逻辑,理解数据在内存中是如何流转的。不要只看视频不动手,只有亲手修改过一份 AOSP 源码并成功编译出新的系统服务,才算真正吃透了 Binder 机制。

学完应能回答的问题与产出

学完这套课程,你应该能够独立回答:Android 系统进程间通信到底是怎么通过 Binder 实现的?Java 层的 Service 是如何映射到 C++ 层的?AIDL 中的 `in`、`out` 参数在编译后具体变成了什么 C++ 结构?当系统出现跨进程崩溃时,如何通过驱动层日志定位问题?更重要的是,你具备了独立修改 AOSP 源码的能力,可以独立开发并打包一个具有系统权限的 Native 服务,或者通过 AIDL 让 App 层安全地调用系统核心功能。这不仅是知识的积累,更是从应用层开发者向系统架构师转型的关键一步。

课程目录

01_001.玩转AOSP.mp4 58.37M
02_002.系统开发工具推荐.mp4 71.27M
03_003.添加Product.mp4 48.96M
04_004.添加可执行程序.mp4 83.87M
05_005.系统App源码添加.mp4 82.62M
06_006.使用android studio开发系统APP.mp4 54.66M
07_000.Binder 专题导学 —— 如何深入掌握 Bind.mp4 13.56M
08_001.学习 Binder 的预备知识1.mp4 14.89M
09_002.学习 Binder 的预备知识2.mp4 71.22M
10_003.学习 Binder 的预备知识3.mp4 31.76M
11_004. 学习 Binder 的预备知识4.mp4 12.95M
12_005.Binder 基本原理.mp4 14.32M
13_006.Binder 程序示例之 C 语言篇.mp4 57.59M
14_007. Binder C 语言示例源码分析之 Servic.mp4 67.24M
15_008.Binder C 语言示例源码分析之服务注册过程.mp4 38.03M
16_009. Binder C 语言示例源码分析之服务获取与使用.mp4 19.99M
17_010. Android Binder 驱动框架设计与分析.mp4 41.05M
18_011. Binder 驱动情景分析之 ServiceMan.mp4 104.24M
19_012.Binder驱动情景分析之服务注册过程上.mp4 143.60M
20_013.Binder驱动情景分析之服务注册过程下.mp4 50.58M
21_014.Binder 驱动情景分析之服务获取与使用过程.mp4 90.08M
22_015.Binder 程序示例之C++篇.mp4 30.34M
23_016.Binder C++ 程序分析之主要类解析.mp4 29.48M
24_017.Binder 服务注册过程情景分析之C++篇).mp4 101.29M
25_018.Binder 服务获取与使用过程情景分析之C++篇.mp4 28.19M
26_019.Binder 程序示例之 aidl-cpp 篇.mp4 35.98M
27_020.添加 Native 系统服务.mp4 38.59M
28_021.添加 Native 系统服务回调.mp4 36.35M
29_022.Binder 程序示例之 Java 篇.mp4 20.77M
30_023.Binder Java 层初始化.mp4 24.11M
31_024.Binder Java 层服务注册过程分析.mp4 77.00M
32_025.添加 Java 系统服务.mp4 72.67M
33_026.Android Java 系统服务框架与第三方 Ap.mp4 91.85M
34_027.添加 Java 系统服务回调.mp4 41.77M
35_028.AIDL 数据类型详解之 Java 篇.mp4 51.31M
36_029.AIDL 数据类型详解之 C++ 篇.mp4 36.96M
37_30.Java 调用 Native 服务.mp4 65.44M
38_31.Native 调用 Java Binder 服务.mp4 50.07M
39_32.AIDL 关键字 in out inout onewa.mp4 47.56M
40_33.Binder 匿名服务源码分析.mp4 41.16M
41_34.Binder 中的 Parcel 数据结构分析(C++.mp4 117.95M
42_35.Binder 中的 Parcel 数据结构分析(Jav.mp4 72.62M
43_36.Binder多线程情景分析.mp4 87.47M
44_37.Binder 代理对象泄露问题分析.mp4 19.38M
45_38.Binder 死亡通知情景分析.mp4 129.90M
46_39.Binder 异常处理机制.mp4 33.99M
47_001.基础组件专题介绍.mp4 7.56M
48_002.Android 平台智能指针使用与分析.mp4 88.40M
49_003.弱引用 wp 的作用.mp4 22.37M
50_004.Linux IO 多路复用 epoll 机制.mp4 26.68M
51_005.Linux timerfd 的基本使用.mp4 8.24M
52_006.Android Native Looper 机制.mp4 54.98M
53_007.Android Java Looper 机制.mp4 59.53M
54_008.Handler同步屏障机制.mp4 56.27M
55_009.IdleHanlder 原理与使用.mp4 15.96M
56_010.属性系统概述.mp4 34.12M
57_011.属性系统入门.mp4 41.67M
58_012.属性文件生成过程分析.mp4 65.48M
59_013.属性与SeLinux.mp4 42.86M
60_014.属性系统源码分析一.mp4 159.28M
61_015.属性系统源码分析二.mp4 96.61M
62_016.属性系统源码分析三.mp4 62.10M
63_017.属性系统源码分析四.mp4 59.36M
64_018.Unix Domain Socket 使用解析之 U.mp4 41.15M
65_019.Unix Domain Socket 使用解析之 T.mp4 29.17M
66_020.Android 中的 Unix Domain Soc.mp4 37.84M
67_021.socketpair 使用解析.mp4 24.77M
68_001.Android 系统启动.mp4 9.22M
69_002.Init 进程启动分析一.mp4 102.86M
70_003.Init 进程启动分析二.mp4 23.94M
71_004.Init 进程启动分析三.mp4 38.87M
72_005.Init 进程启动分析四.mp4 71.22M
73_006.Init 进程启动分析五.mp4 76.29M
74_007.zygote 进程启动分析一.mp4 57.52M
75_008.zygote 进程启动分析二.mp4 36.99M
76_009.zygote 进程启动分析三.mp4 46.16M
77_010.应用进程启动分析.mp4 117.87M
78_11.SystemServer 进程启动分析一.mp4 95.26M
79_12.SystemServer 进程启动分析二.mp4 75.01M
80_013.Android 平台开机时间分析.mp4 97.76M