使用Android Studio閱讀整個Android原始碼
阿新 • • 發佈:2019-02-11
之前一直在windows下用source insight閱讀android原始碼,效果非常好。
後來遠端異地伺服器,網路限制,一直用ssh + vim,現在主要還是以這種方式。
最近發現一個不錯的東西(早就有了),在android原始碼中有這麼一個目錄development/tools/idegen。
顧名思義,是生成ide的project檔案,主要是生成intellij的project檔案,當然也可用於android studio。
使用之後,發現效果超棒,所以這裡專門撰文推薦。
1、效果圖
2、編譯idegen模組
編譯原始碼idegen模組及生成AS配置檔案(*.ipr)
在開始編譯idegen模組前,你一定知道需要先全域性編譯出out目錄及相關檔案吧,這個不再過多說了,我們通過如下命令編譯idegen模組:
mmm development/tools/idegen/
這行命令的意思是編譯idegen這個模組專案,然後生成idegen.jar檔案(不信你自己去檢視這個模組的Android.mk的目標吧,不多解釋)。執行完以後如果看到如下資訊則說明編譯OK:……
#### make completed successfully (7 seconds) ####
接著執行如下指令碼:development/tools/idegen/idegen.sh
這行命令的意思是在根目錄生成對應的android.ipr、android.iml IEDA工程配置檔案。等待片刻得到類似如下資訊說明OK:通過如上操作我們就完成了基本的原始碼配置工作。 原始碼要編過,不然idegen沒法生成。Read excludes: 21ms Traversed tree: 194799ms
提示:
1 2 3 4 5 |
// 找不到idegen,需要全域性編譯一下
/*
ubuntu:~/Data/cyanogenmod$ . development/tools/idegen/idegen.sh
Couldn't find idegen.jar. Please run make first.
*/
|
但是我相信很多看原始碼的人是不需要編譯的,所以只要我上傳一個idegen.jar:
http://download.csdn.net/download/zoulu1/9436609
把這個檔案copy到out/host/linux-x86/framework/目錄下:
1 |
$ cp idegen.jar ../cyanogenmod/out/host/linux-x86/framework/idegen.jar
|
然後在cyanogenmod目錄下執行:
1 2 3 4 5 |
/*
$ . development/tools/idegen/idegen.sh
Read excludes: 21ms
Traversed tree: 54700ms
*/
|
在我的電腦上花了54s多生成完畢,檢視目錄,多了2個檔案:android.ipr和android.iml。
3、匯入到android studio
開啟Android studio,點選File > Open,選擇剛剛生成的android.ipr就好了。
過一會兒可以在android studio完美打開了,如前面的截圖
4、小結
可以結合android studio,介面,智慧提示都比source insight要好,超讚!