因為EXT和NTFS格式的差異,我一直對於windows下閱讀Android源碼感到不滿。
前幾天,想把最新的android5.0的源碼下下來研究一下,而平時日常使用的又是windows環境,於是專門思考了一下這個問題,總結一次。
要求
有且只有一份可以下載,更新,編譯的Android源碼,可以在不同平台查看。
硬件篇
方案一:U盤
拷貝一份在linux下的Android源碼,到某一U盤。
優點:
- u盤便攜性非常強,可隨身攜帶
缺點:
- 源碼不能更新,每次重新拷貝最新的源碼需要一台linux,而且因為體積太大,不現實。
- EXT的U盤在windows下不能查看,NTFS的U盤的源碼在linux下會破壞文件格式(git可以檢測的出來)。
方案二:虛擬機
在虛擬機中安裝linux,然后把源碼目錄設置共享。
優點:
- 完整的linux下源碼,可以共享給windows下,可以隨時下載更新、編譯等,堪稱完美,但是缺點極大。
缺點:
- 每次開機都要去啟動虛擬機,一度我曾使用vagrant緩解了這個問題。
- 開啟一個虛擬機需要浪費大量的CPU和內存。
方案三:雲主機
優點:
- 完整的linux下源碼,可以共享給windows下,沒有方案一的缺點,但是局限性極大。
缺點:
- 雲主機的空間大小
- 需要聯網,雲主機的帶寬有限。
- 這得花多少冤枉錢。
方案四:U盤Linux
優點:
- 把linux系統安裝到u盤,隨插隨用
缺點:
- 一般的u盤速度慢
- 一般的u盤空間不夠,最新的android5.0.2的源碼,我編譯后用了70G左右。
- windows下讀取不了ext4的u盤,只能在linux下查看
針對上述問題,我結合當前的一些硬件的發展,找到了一個相對於前面更好的終極方案。
終極方案:高速大U盤Linux + 小米路由器
我使用閃迪的128G的CZ88u盤,速度非常快(讀260M/s,寫240M/s),安裝ubuntu到u盤。插入到小米路由器的USB口。
優點:
- 高速U盤的linux非常流暢,克服了U盤慢影響系統使用體驗的詬病。
- 小米路由器可以把EXT4的U盤共享給windows.
- 小米路由器是不關機設備,和電腦獨立,可以隨意切換系統或者設備,均可閱讀到源碼
- 如果網絡支持的話,可以實現遠程ssh訪問到小米路由器閱讀源碼(靜態IP最好,實現動態IP可以花生殼),這將極其方便!
- 隨時在linux下升級android源碼,也可以編譯,定制。
缺點:
- 高速大U盤比較貴,CZ88,易迅上次做活動799元,現在恢復到1388元。
- 小米路由器,我用的699版本的,這個也是成本,但這些都是一次性投入。
軟件篇
Android5.0源碼下載和編譯
這個和之前Android4.x源碼下載和編譯的方法幾乎一樣,參考Android學習系列(38)--Android源碼下載和編譯,如下圖:
128G的U盤使用情況(我在上面還搭建了一套完整Android的開發環境和一些其他軟件):
小米路由器讀取U盤
我把u盤linux個人目錄映射到Y盤,里面的aosp目錄如下:
使用Android Studio閱讀Android源碼
這個我在Android拓展系列(10)--使用Android Studio閱讀整個Android源碼里已經專門談到了。
使用Git Extensions閱讀Android單個模塊源碼
如果覺得上面的方法太臃腫了,可以選擇輕量級的只讀方案,而且可以查看Git信息,就是使用Git Extensions。
在aosp/external/glide目錄下,右鍵,選擇"GitExt Browser",如下圖:
附Git Extensions官方下載地址:http://sourceforge.net/projects/gitextensions/
總結
頓時覺得世界簡單了!
看,好多優秀的代碼!
要一邊折騰一邊學習!