Android 源碼編譯經驗分享, 以及如何使用Android studio 閱讀整個源碼

yinwei0011 8年前發布 | 68K 次閱讀 Android開發 移動開發 Android Studio

來自: http://www.cnblogs.com/liam999/p/android.html

android 源碼編譯最好的教程就是google 官方步驟一點一點的操作, http://source.android.com/

但是在實際的過程中總是存在一些坑。

下載或編譯源碼 建議使用64位 ubuntu12.04 或者 14.04 這樣可以保證和官方的環境一致 ,避免出現不可預料的問題,window 或mac 系統建議考慮使用虛擬機vbox 安裝ubuntu。

1.前期準備

在下載源碼前需要對環境做一些配置, 首先需要安裝jdk,但需要注意:

編譯 android 5.x的源碼需要安裝jdk1.7.x 版本

編譯 android 6.x的源碼需要安裝jdk1.8.x 版本

具體步驟參考 http://source.android.com/source/initializing.html

需要注意的是,安裝必要依賴庫的過程中很有可能報錯,比如gcc 版本問題,cpp 版本問題等。

最好解決方式是確保你的軟件源 /etc/apt/sources.list 是正確的。

下面是我的sources.list 的全部內容(ubuntu 12.04)

deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
# deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse

deb http://archive.canonical.com/ubuntu trusty partner
# deb-src http://archive.canonical.com/ubuntu precise partner
deb http://extras.ubuntu.com/ubuntu trusty main
# deb-src http://extras.ubuntu.com/ubuntu precise main

2.下載源碼 

android 官方建議是用repo 同步分支代碼,但是在國內的速度你懂得, 所以建議直接下載打包好的android 源碼,當然前提要保證源碼的來源安全可靠(想想前一段時間xcode漏洞)。

還有一種方式就是在國外的vps上下載源碼,打包傳回國內,這樣至少能保證源碼真實可靠。

如果要按照官方推薦的方式下載源碼,請參考 http://source.android.com/source/downloading.html

3.編譯源碼

編譯過程參照 http://source.android.com/source/building.html

大概需要3,4個小時 具體看機器配置。

編譯完成后即可導出 android studio 工程 可以愉快的使用android studio 閱讀整個代碼了。

具體步驟:

執行

make idegen && development/tools/idegen/idegen.sh

如果你編譯的是 aosp 分支 可能會出現

Exception in thread "main" java.io.FileNotFoundException: ./out/target/product/generic/obj/GYP/shared_intermediates/res.java (Is a directory)

解決方案是 改一下res.java 的名字

mv out/target/product/hammerhead/obj/GYP/shared_intermediates/res.java out/target/product/hammerhead/obj/GYP/shared_intermediates/res.j

重新執行

make idegen && development/tools/idegen/idegen.sh

等到編譯成功后可以在改回來。

4.相關的下載

下面是我使用的 android 5.1.1_rc1 的源碼

android.ipr 也在里面,可以不用編譯直接導入android studio 閱讀源碼(相信很多人不需要編譯源碼,只是希望能方便的閱讀android 源碼)。

http://d.mystical.cn/d/android/android-5.1.1_r1.zip

云盤地址

https://yunpan.cn/cxRguULzJDgVK 訪問密碼 0393

后面我也會繼續分享一些 最新 android 源碼的下載地址。

 本文由用戶 yinwei0011 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!