# Android ROM 开发技能图谱

## 1. 操作系统

* Ubuntu(首选)
* MacOSX

## 2. 编程语言

* Java
* JNI(务必掌握)
* C++
* C

## 3. 源码

### 3.1 管理方式

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

### 3.2 源码地址

* [官方源码](https://android.googlesource.com)
* [Github镜像](https://github.com/android)
* [高通扩展源码](https://www.codeaurora.org/projects/all-active-projects/android-msm)
* [CM源码](https://github.com/cyanogenmod)
* [MIUI部分源码](https://github.com/MiCode)

### 3.3 下载

* Repo/Git

### 3.4 阅读修改工具

* SourceInsight(首选)
* Eclipse
* Android Studio

### 3.5 编译

* 搭建编译环境
* Makefile编译体系

## 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

* Dalvik
* ART

### 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

* Internal
* External
* OTG

### 5.6 Sensor

### 5.7 Input

* EventHub
* Touch

### 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
* unlock
* flash
* 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
* Network usage
* RAM usage

### 6.5 兼容测试

* CTS源码下载
* CTS设置和执行

### 6.6 OTA升级

* 升级过程
* 全量升级
* 增量升级

* 升级优化
* 缩减升级包

Android ROM 开发技能图谱的更多相关文章

  1. Android App 开发技能图谱

    操作系统 Windows/MacOSX/Linux 编程语言 Java HTML/JS (Hybrid/Web App) C/C++ (NDK) SQL (DB) Kotlin 开发工具 IDE An ...

  2. Android App开发技能图谱(转载)

    操作系统 Windows/MacOSX/Linux 编程语言 Java HTML/JS (Hybrid/Web App) C/C++ (NDK) SQL (DB) Kotlin 开发工具 IDE An ...

  3. HTML5 开发技能图谱skill-map

    # HTML5 开发技能图谱![HTML5 脑图](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-HT ...

  4. Android 架构师技能图谱

    # Android 架构师技能图谱 ## 架构与设计 - 设计模式 - 重构 - 技术选型 - 特性 - 可用性 - 性能 - 包大小 - 方法数 - 文档 - 技术支持 - UI架构模式 - MVC ...

  5. Android ROM开发(二)——ROM架构以及Updater-Script脚本分析,常见的Status错误解决办法

    Android ROM开发(二)--ROM架构以及Updater-Script脚本分析,常见的Status错误解决办法 怪自己二了,写好的不小心弄没了,现在只好重新写一些了,上篇简单的配置了一下环境, ...

  6. Android ROM开发(三)——精简官方ROM并且内置ROOT权限,开启Romer之路

    Android ROM开发(三)--精简官方ROM并且内置ROOT权限,开启Romer之路 相信ROM的相关信息大家通过前几篇的学习都是有所了解了,这里就不在一一提示了,这里我们下载一个官方包,我们还 ...

  7. Android ROM开发(一)——Windows下Cygwin和Android_Kitchen厨房的安装

    Android ROM开发(一)--Windows下Cygwin和Android_Kitchen厨房的安装 很久没有碰到ROM开发了,在很久很久以前也是从ROM起步的,无奈还是一脚踏上了Android ...

  8. Node.js 开发技能图谱

    # Node.js 开发技能图谱 ## Node.js 语言环境搭建 - Node.js 安装(3m大法:nvm.npm.nrm)- Node.js 命令- Node.js开发工具(推荐vscode) ...

  9. Golang 开发技能图谱

    # Golang 开发技能图谱 ## Go 语言环境搭建- Go 安装- GOPATH 与工作空间- Go 命令- Go开发工具 ## GO 语言编程基础- 关键词和语法(Language Synta ...

随机推荐

  1. window安装activemq

    原文: https://www.cnblogs.com/donsenChen/p/8656563.html ActiveMQ5.14.5下载地址 http://activemq.apache.org/ ...

  2. vector代替数组

    vector代替数组 1.声明一个int向量以替代一维的数组:vector <int> a;(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除). 2.用vector ...

  3. GH001 on github

    remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://g ...

  4. 题解 P1017 【进制转换】

    我赶jio这个题难道是让我们写快写? 不管了,赶紧把咕咕咕了一万年的题解写出来. 这个题就是考察负进制和在mod意义下的除法运算的基础运算. (其实也没多大问题) 首先我们先假设一个原始数据\(num ...

  5. 洛谷P1219 八皇后

    题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序列2 4 6 1 3 ...

  6. Cocos2d 之FlyBird开发---GameScore类

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 这个类主要实现的是,显示历次成绩中的最好成绩.当然我写的这个很简洁,还可以写的更加的丰富.下面贴上代码: GameScore.h #ifn ...

  7. linux 部署系统通过SecureCRT启动tomcat 控制台中文乱码

    查资料又是查了半天 首先 查看linux 当前系统字符集命令 echo $LANG 查看linux 当前系统语言 locale 网上说的又是下中文包,又是改临时语言,这些不能一概而论,我也觉得我不是中 ...

  8. 银行贷款(dp)

    链接:https://www.nowcoder.com/acm/contest/79/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536KS ...

  9. 面试题:实现call、apply、bind

    面试题:实现call.apply.bind 实现bind module.exports = function(Tcontext, ...args) { let globalThis = typeof ...

  10. 【彩彩只能变身队(第七组)】Alpha版

    演示总结 -by 彩彩只能变身组(第七组) Part one:功能简介 教师端——班级主页 教师端——创建班级 教师端——批改作业 教师端——作业上交情况 学生端——班级主页 学生端——作业上传 在开 ...