最近在定制一款ROM,拉取谷歌源码,解包、精简、修改、打包。想要实现MIUI一样的效果和国人常用的功能设置和手势。
在这个过程中遇到了很多疑难问题,也发现公司刚招来的这些小孩基础太差,而且他们根本不知道去哪学习,怎么学习,学点啥才能编译ROM。我查了一下相关资料确实太少。系统点的书也是2011出版的,太古老了,这些年真正深入到系统层,framework层开发的人太少,但是随着市场淘汰了大批的技术不思进取的App开发者,开始深入framework层的越来越多,很多论坛都有零散的文章,介绍很多零散的知识点。初学者脑子里没有完整的大纲,不知道先后顺序,不知道先怎样后怎样,所以迷茫,无从下手,连百度时都不知道搜哪个词汇好。这是我和几个实习生深入沟通后了解了现在1-3年开发者普遍存在的迷茫感。
Pangu-Immortal (Pangu-Immortal) · GitHub
赠送源码:https://github.com/Pangu-Immortal
《最完整的Android逆向知识体系》
我整理了一下ROM开发者如何学习,从哪开始着手学习,如何修改framework层,如何深入的去了解谷歌的源代码。
不是很完善,有思路和建议的都可以在下面留意,我会把遗漏的和没想到的补上,此篇文章会持续地更新。
第一阶段主要为ROM开发,ROM定制技术资料,提供一些工具为主 ,让你学会简单做包,和基本的ROM DIY技巧,偶尔附加一些必要的教程。
第二阶段针对ROM技术教程,细分知识点,重点剖析、解释,形成一系列的知识文档供查阅,目前大纲已列出,可以教你从零开始做包。
第一阶段---技术资料:
- 书籍-Android系统级深入开发——移植与调试
- 开发工具-Android-Kitchen
- boot解包打包修改工具
- adb-fastboot最新编译工具
- apktool反编译工具
- 卡刷转线刷工具,dat转img
- CM编译参考教程,教你如何快速编译自己的ROM
- Flymeos源码同步更新以及插桩适配教程
- Odex合并工具
- 高通命令进入9008端口方式汇总和机型整理
- ROM移植的思路和方法
- ADB logcat调试和端口占用解决办法
- Android apk反编译方法以及运用
- 内置&精简APP方法简述
- ROM系统结构和分区解析
第二阶段---技术教程:
认识ROM开发
- 概念
- 涉及知识面
- 包含内容和方向
环境安装
- Windows环境
- Linux环境
- Mac环境
基础知识
- 安卓系统结构
- 系统模式和分区
解包打包
- 卡刷、线刷包工具解包打包
- 三星tar格式打包工具
- 注意事项
定制修改
- 修改机型信息
- 定制开机动画
- 系统布局修改和美化
- 多国语言(三星篇)
进阶知识
- Boot内核修改
- Recovery移植与编译
- Odex合并原理以及教程
- 逆向APK反编译修改教程
- ADB经典用法和高效率使用调试教程
- 系统优化,游戏与性能优化
- 源码编译,Patch ROM项目教程
线刷包开发与制作
- 如何从手机中提取备份分区镜像
- Boot校验去除和修改
- 定制线刷ROM以及将黑砖救活
- 解屏幕锁、账户锁
高级定制
- ROOT原理分析和操作教程
- Xposed框架集成与玩法介绍
- 设置添加作者信息和链接&专属高级设置APP定制
- ROM移植教程与过程分析
- 破网络锁与案例分析
赠送源码:https://github.com/Pangu-Immortal
《最完整的Android逆向知识体系》