MAC下閱讀Android源代碼

之前在Linux環境下開發的時候,一直用source insight查看源代碼,覺得挺方便的,但是在mac Retina環境下,source insight變得不再可用。於是可是嘗試在eclipse和Android Studio下導入Android源代碼查看。

一、使用eclipse閱讀Android源碼:
這種方式不需要編譯源代碼,能夠快捷方便導入。
1.將eclipse工具根目錄下的.classpath文件複製到Android源碼根目錄
cp /eclipse/.classpath ~/sourcecode
2.加快編譯導入源代碼,可修改eclipse緩存設置
可根據自己的機器適當調整eclipse.ini文件的3個值:
-Xms128m
-Xmx768m
-XX:MaxPermSize=512m
(mac路徑:eclipse/Eclipse.app/Contents/MacOS/eclipse.ini)
3.導入eclipse代碼風格
把android-formatting.xml和android.importorder導入Eclipse
~/android/development/ide/eclipse/android-formatting.xml
~/android/development/ide/eclipse/android.importorder
4.導入Android源碼
新建Java Project(不是Android project),選擇從已存在的工程導入,定位到Android源碼的目錄進行導入即可。


二、使用Android Studio閱讀Android源碼:

首先需要編譯出來android.iml和android.ipr這兩個文件,這兩個文件是Android Studio的工程配置文件。如果已經有了,就不需要編譯了
本人clone的源代碼版本是6.0.1,編譯出來的這幾個文件已上傳共享至http://download.csdn.net/download/qyf2010qyf/9606979,由於MAC編譯源代碼比較費時費力,不想編譯的,可直接下載然後根據步驟2導入就可以了。
 1.編譯源代碼
在MAC下編譯源代碼相比Linux稍微麻煩點,具體可參考源代碼官網配置:http://source.android.com/source/initializing.html
可能遇到的問題:
(1)Unknown value ‘10.11’ of -mmacosx-version-min
當前的android 源碼尚不能在這個mac版本編譯,解決辦法:獲取最新的Android源代碼,Android源代碼6.0.1支持在mac os 10.11 以上編譯。
(2)fatal error: linux/netfilter/xt_DSCP.h: No such file or directory
解決辦法:網上搜索一下這個頭文件內容新建一份就可以了。
(3)磁盤空間不足

解決辦法:如果確認代碼已經完整clone,刪除.repo文件夾內容,能節省不少空間。

如果感覺編譯時間比較長,而自己MAC的配置比較高的話,可以把編譯命令make -j參數調整到32或64,效果還是比較明顯的。


2.生成工程配置文件並導入源代碼


(1)編譯完成之後,進入Android 源碼根目錄,執行mmm development/tools/idegen/
(2)sh ./development/tools/idegen/idegen.sh
在根目錄會生成對應的文件:android.ipr, android.iml
(3)打開Android Studio,選擇打開一個現有的Android Studio項目,選擇Android源碼的根目錄,導入即可(起作用的是android.irp文件).在配置sdk版本之後就可以查看Android 源碼了.

生成工程配置文件的過程,如果有問題,可詳細參考http://www.jianshu.com/p/c85984cf99e2。

總結:
個人感覺Android Studio閱讀Android源碼相比eclipse還是比較好用點,eclipse全局搜索key word,會出現卡死的現象,Android Studio雙擊shift查找文件非常方便好用,但是兩者感覺在查看c/c++代碼方面都沒有source insight方便,不能快捷跳轉查看定義。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章