轉發請注明出處:
安卓猴的博客(http://sunjiajia.com)
前言
編譯Android源碼是為了更好的學習源碼,當然,如果要做第三方ROM適配,也可以嘗試;我們這篇重點學習如下內容:
- 如何在Ubuntu下編譯Android5.1.1源碼;
- 導入Android Studio進行源碼閱讀。
配置編譯環境
1.需要Ubuntu 64bit,建議Ubuntu14.04 64-bit;
2.安裝openJDK 7:
$ sudo apt-get update
$ sudo apt-get install openjdk-7-jdk
3.更新jDK環境變量:
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
4.為Ubuntu安裝必須的packages:
$ sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
開始編譯
1.進入源碼根目錄,加速下載源碼的方法請移步:《國內鏡像加速Android源碼下載》:
$ cd android_source
2.初始化編譯環境:
$ . build/envsetup.sh
3.選擇編譯目標,如果僅僅是為了閱讀源碼學習,就選擇aosp_arm-eng:
$ lunch
4.開始編譯,這里使用了4個并發數:
make -j4
5.漫長的等待,時間不等,根據硬件配置而定,大致需要2h~10h之間。
6.編譯過程中,如果出現任何問題,直接Google就行了;我的經歷是,出現錯誤是由于源碼下載不完整,為了避免,請移步《國內鏡像加速Android源碼下載》。
7.編譯成功后,終端會有如下提醒:
#### make completed successfully (08:04:50 (hh:mm:ss)) ####
導入Android Studio
1.編譯完成后,在源碼根目錄下,執行:
mmm development/tools/idegen/
2.等待片刻,終端提示以下內容,說明android.iws, android.ipr, android.iml生成成功:
make: Entering directory `/home/monkey/Android/android-5.1.1_r3'
host Java: idegen (out/host/common/obj/JAVA_LIBRARIES/idegen_intermediates/classes)
Install: out/host/linux-x86/framework/idegen.jar
make: Leaving directory `/home/monkey/Android/android-5.1.1_r3'
#### make completed successfully (9 seconds) ####
3.打開Android Studio,選擇打開一個現有的Android Studio項目,選擇Android源碼的根目錄,導入即可,這里起作用的是android.irp文件。在配置sdk版本之后就可以查看Android源碼了。
4.提醒一下,常用Widgets的源碼在/frameworks/base/core/java/android/widget
目錄結構下,也可以按ctrl+N
尋找源碼文件。
結束
Android5.1.1源碼下載完畢,也編譯完畢,同時,也導入到Android Studio供我們欣賞源代碼的美麗。