最近在定製一款ROM,拉取谷歌源碼,解包、精簡、修改、打包。想要實現MIUI一樣的效果和國人常用的功能設置和手勢。
在這個過程中遇到了很多疑難問題,也發現公司剛招來的這些小孩基礎太差,而且他們根本不知道去哪學習,怎麼學習,學點啥才能編譯ROM。我查了一下相關資料確實太少。系統點的書也是2011出版的,太古老了,這些年真正深入到系統層,framework層開發的人太少,但是隨着市場淘汰了大批的技術不思進取的App開發者,開始深入framework層的越來越多,很多論壇都有零散的文章,介紹很多零散的知識點。初學者腦子裏沒有完整的大綱,不知道先後順序,不知道先怎樣後怎樣,所以迷茫,無從下手,連百度時都不知道搜哪個詞彙好。這是我和幾個實習生深入溝通後瞭解了現在1-3年開發者普遍存在的迷茫感。
贈送源碼:https://github.com/yugu88/MagicWX。
《最完整的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/yugu88/MagicWX。
《最完整的Android逆向知識體系》