Android ROM 开发技能图谱

2,934 阅读1分钟

前几天发了一个Android App开发的技能图谱, 大家也都比较感兴趣, 有人问我有没有关于Android ROM开发的知识体系介绍. 前几年倒是做了几年ROM和参考方案开发, 也整理了一些东西, 发出来大家分享之.

有两年没有太关注ROM开发了, 可能有点滞后, 大牛们轻拍.

先上图, 大图, 请稍安:)


Android ROM开发技能图谱

1. 操作系统

2. 编程语言

3. 源码

3.1 管理方式

  • Codelines/Branches/Releases
  • Codenames/Tags/Build Numbers

3.2 源码地址

3.3 下载

3.4 阅读修改工具

  • SourceInsight(首选)
  • Eclipse
  • Android Studio

3.5 编译

4. 层次体系

4.1 核心Applications

  • Phone/Contacts/MMS
  • Camera/Gallery/Music/Video
  • Settings

4.2 Frameworks

  • Telephony
  • MultiMedia
  • Connectivity
  • Window/View/ActivityManager
  • Surface/Graphics

4.3 Native Libs

4.4 Android Runtime

4.5 HAL

4.6 Linux Kernel

4.7 Driver

5. 核心系统

5.1 Audio

5.2 Bluetooth

5.3 Camera

5.4 Media

5.5 Storage

5.6 Sensor

5.7 Input

5.8 Accessories

5.9 DRM

5.10 Power

5.11 Window

  • WindowManager
  • View
  • ActivityManagerService

5.12 Telephony

  • Phone
  • RIL
  • ATCommands
  • Modem

6 辅助技术

6.1 刷机

  • fastboot
  • bootloader

6.2 设备分区

  • boot
  • system
  • vendor
  • userdata
  • cache
  • recovery
  • misc

6.3 product配置

  • Carrier
  • File System
  • Low RAM
  • Runtime Permission(6.0)
  • ...

6.4 调试工具

  • GDB
  • Valgrind
  • Systrace
  • Dumpsys

6.5 兼容测试

6.6 OTA升级

  • 升级过程

  • 升级优化

本文已上传至Github的AndroidDevResource中, 欢迎大家star, fork, 提pull request.

Github, 博客, 简书, 掘金, 开发者头条