android源碼分析網上隨筆記錄

百度查「android源碼分析工具」時發現有一篇知乎文章: 巨人的肩膀html

AOSP項目官方: https://source.android.com/source/index.html
    這個必定要先讀. 項目介紹, 代碼下載, 環境搭建, 刷機方法, Eclipse配置都在這裏. 這是一切的基礎.
Android官方Training: https://developer.android.com/training/index.html
    這個實際上是給App開發者看的. 可是裏面也有很多關於系統機制的介紹, 值得細讀.
老羅的Android之旅: http://blog.csdn.net/luoshengyang
    此老羅非彼老羅. 羅昇陽老師的博客很是有養分, 基本能夠做爲指引你開始閱讀AOSP源碼的教程. 你能夠按照博客的時間順序一篇篇挑須要的看.但這個系列的博客有些問題:
        早期的博客是基於舊版本的Android;
        大量的代碼流程追蹤. 讀文章時你必定要清楚你在看的東西在整個系統處於什麼樣的位置.
Innost的專欄: http://blog.csdn.net/innost
    鄧凡平老師也是爲Android大牛, 博客一樣頗有養分. 可是不像羅昇陽老師的那麼系統. 更多的是一些技術點的深刻探討.
Android Issues: http://code.google.com/p/android/issues/list
    Android官方Issue列表. 我在開發過程當中發現過一些奇怪的bug, 最後發現這裏基本都有記錄. 固然你能夠提一些新的, 有沒有人改就是另一回事了.
Google: https://www.google.com
    必定要能流暢的使用這個工具. 大量的相關知識是沒有人系統的總結的, 你須要本身搞定.

其它android

代碼組織
    AOSP的編譯單元不是和git項目一一對應的, 而是和Android.mk文件一一對應的. 善用mmm命令進行模塊編譯將節省你大量的時間.
Binder
    這是Android最基礎的進程間通信. 在Application和System services之間大量使用. 你不只要知道AIDL如何使用, 也要知道如何手寫Binder接口. 這對你理解Android的Application和System services如何交互有很是重要的做用. Binder如何實現的倒沒必要着急看.
HAL
    除非你對硬件特別感興趣或者想去方案公司上班, 不然別花太多時間在這一層.
CyanogenMod
    這是一個基於AOSP的第三方Rom. 從這個項目的wiki裏你能學到不少AOSP官方沒有告訴你的東西. 好比如何支持Nexus之外的設備.
DIA
    這是一個Linux下畫UML的工具, 可以幫你梳理看過的代碼.
XDA
    http://www.xda-developers.com/
    這裏有最新資訊和最有趣的論壇.
相關文章
相關標籤/搜索