课程定位与基础门槛 Android Framework 开发是移动应用生态中最具深度的工程领域,其核心难点在于跨越了应用层与系统层的边界。本课程聚焦于 AOSP(Android Open Source Project)环境下的系统级定制与开发,旨在解决开发者面对庞大源码无从下手、缺乏本地构建环境以及不清楚系统组件注入流程的痛点。资料包包含从 AOSP 初始…
Android Framework 开发是移动应用生态中最具深度的工程领域,其核心难点在于跨越了应用层与系统层的边界。本课程聚焦于 AOSP(Android Open Source Project)环境下的系统级定制与开发,旨在解决开发者面对庞大源码无从下手、缺乏本地构建环境以及不清楚系统组件注入流程的痛点。资料包包含从 AOSP 初始化到 Binder 专题的完整视频序列,内容覆盖 System 可执行程序添加、Product 配置、系统 App 源码集成以及使用 Android Studio 进行系统级 App 开发等关键环节。这套资料并非面向零基础用户,学习者需具备扎实的 Java/Kotlin 基础,熟悉 Linux 常用命令及编译原理,并建议已阅读过《Android 系统源代码情景分析》或具备 Android 应用层中等以上开发经验。只有建立起对 Linux 编译工具链(如 Soong/Bazel)和 Android 构建系统的初步认知,才能跟上课程中关于系统源码修改与重编的教学节奏。
鉴于课程内容的递进逻辑,建议按照以下顺序配合练习进行系统性学习。首先,必须完成前四节关于环境搭建的基础内容,特别是 01_001 玩转 AOSP 和 02_002 系统开发工具推荐,这是后续所有操作的基石。接着,重点攻克 03_003 添加 Product 与 04_004 添加可执行程序,这两节展示了如何向系统镜像中添加自定义组件,是理解系统构建流程的最佳入口。随后进入 05_005 系统 App 源码添加与 06_006 使用 Android Studio 开发系统 App,这一步实现了从源码编辑到 IDE 调试的闭环,是工程实践中最高频的场景。最后,针对通信机制的核心难点,务必深入学习 07_000 至 10 系的 Binder 专题,这部分内容对于理解 Android 进程间通信(IPC)机制至关重要,是区分普通开发者与系统工程师的分水岭。不要跳过 Binder 预备知识,它们是理解 Service Manager 和底层数据流转的关键。
本课程最大的价值在于其极强的可落地性。资料包中的配套代码与视频演示步骤高度对应,学习过程中请务必在本地搭建好 AOSP 源码树,严格按照视频指引执行 make 编译与模拟器验证,切忌仅做旁观者。通过本系列的学习,你将能够独立配置 AOSP 开发环境,掌握向系统中注入自定义 Service 或 App 的完整流程,并能够使用 Android Studio 对系统级组件进行高效调试。最终,你将具备深入解读 Android 系统源码的能力,能够针对系统行为异常进行底层排查,并胜任涉及系统定制、ROM 开发或中间件对接的高端 Android 开发岗位。这种基于真实源码树的操作经验,将极大提升你对 Android 架构全局观的理解,为后续涉足 HAL 层或内核层开发奠定坚实基础。
edc40006-f78d-4311-ad04-8325705c027f.png (414.84 KB, 下载次数: 0) 2025-1-29 15:53 上传 配套资料.rar 44.59M 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 100_001.Andr
edc40006-f78d-4311-ad04-8325705c027f.png (414.84 KB, 下载次数: 0) 2025-1-29 15:53 上传 配套资料.rar 44.59M 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 100_001.Android14 WMS AMS 窗口层级结构解析.mp4 123.09M 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 81_014.开机动画 BootAnimation 源码分析.mp4 120.83M 82_015.Android 平台自定义开机动画.mp4 55.77M 83_016.BootAnim添加视频播放功能.mp4 44.12M 84_001. Android HAL 层概览.mp4 13.62M 85_002.传统 Hal 开发指南1 —— 开发环境准备.mp4 26.51M 86_003.传统 Hal 开发指南2 —— 传统 HAL 整体架.mp4 79.00M 87_004.驱动开发.mp4 43.04M 88_005.实现一个简单的 Hal 模块.mp4 23.76M 89_006.添加硬件访问服务.mp4 81.53M 90_007.开发一个 App 访问硬件服务.mp4 16.87M 91_008.Android 8 HAL 变迁.mp4 41.10M 92_009.Binderized HALs 实例分析.mp4 71.07M 93_010. Passthrough HALs 实例分析.mp4 62.80M 94_011. Same-Process HALs 实例分析.mp4 65.43M 95_012.HIDL 驱动开发.mp4 34.20M 96_013.简单 HIDL HAL 实现.mp4 48.28M 97_014.添加硬件访问服务.mp4 65.99M 98_15. 开发一个 App 访问硬件服务.mp4 12.30M 99_16.AIDL Hal 开发指南1—— 开发环境准备.mp4 12.94M