歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在Ubuntu 11.10(32位)下載Android 4.0源碼(圖文)

如何在Ubuntu 11.10(32位)下載Android 4.0源碼(圖文)

日期:2017/2/28 16:01:08   编辑:Linux教程

1 開始

1.1 初始化構建環境

這節主要是描述如何設置你的本地工作環境,怎麼使用repo這個工具獲取Android文件,怎麼創建你機器上的文件。使用Linux或Mac Os才能構建Android源文件,Windows目前不支持.

注:源文件有6G大小。構建時,你需要25G空間來完成單獨構建,而完整構建時需要80G空間。

1.2 設置Linux構建環境
注:在虛擬機內構建Android也是可以的。如果那樣的話,那麼你至少需要16G內存或交換分區和30G以上的磁盤空間。
一般來說你需要以下工具:
Python 2.4 -- 2.7, 你可從這下載python.org.
JDK 6 (Gingerbread 或更新版本), JDK 5 (Froyo 或更老版本.) 這些你都可以從 java.sun.com下載.

Git 1.7 或更新版本. 你可以git-scm.com下載.

1.2.1 安裝JDK
Sun JDK不再包含在Ubuntu的服務器上了,如果你要下載,你需要添加源和指明那個版本是你想要下載的.
安裝Java6的方法:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

1.2.2 安裝需要的包

安裝如下包:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \

libxml2-utils

執行如下指令:

$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

1.3 配置USB
在GNU/linux系統下,默認情況下,正常用戶不能訪問USB設備,而此時需要配置其可以訪問.建議方法是在目錄/etc/udev/rules.d/下以root權限創建一個51-android.rules文件:
$sudo gedit /etc/udev/rules.d/51-android.rules
然後將以下的內容復制並保存,注:需要將字符串username替換成你的用戶名,即開機登陸時你的用戶名.
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
# adb protocol on maguro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
# fastboot protocol on maguro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"

這樣配置完成只有重新插入USB才會生效.

2 下載源文件
2.1 下載源文件樹
2.1.1 安裝repo
Repo是Android的源碼管理工具,以下步驟是安裝,初始化,配置repo.
第一步:要主目錄下新建一個bin文件夾,並將其設置為環境參數PATH內.
$ mkdir ~/bin

$ PATH=~/bin:$PATH


第二步:下載repo腳本文件,並使其可執行.
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
2.1.2 初如化repo客戶端
第一步:在主目錄上新建一個文件夾WORKING_DIRECTORY,然後進入這個路徑.
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
第二步:清單庫初始化
$ repo init -u https://android.googlesource.com/platform/manifest
這個命令會要求你輸入你的用戶名和郵箱

2.2 獲取Android源文件
同步:
$ repo sync
接下來就是正式開始下載源碼了,要很長時間才能下完,可以使用
$ repo sync -j10
來加快下載速度,即使用10個線程並行下載.
接下來就是等了,一直等到下載完,估計要兩三天才能下完哦,要做好心理准備.

注:在下載過程中,在WORKING_DIRECTORY目錄會自動生成一個隱藏的目錄.repo,這個目錄就是下載的內容,不過是隱藏的,用ls是看不見的.
如果在下載過程中出現錯誤的話,可再打開另一個終端,輸入以下命令:
$ PATH=~/bin:$PATH
$ repo init -u https://android.googlesource.com/platform/manifest

$ repo sync -j10

上兩條命令都會要求你輸入用戶名和郵箱,輸入即可,每次下載中斷都要重復一次這樣的操作,最郁悶的是一旦中斷了,終端就死在那了,很長時候就沒有動,最好是打開System Monitor這個工具查看當前的網絡下載流量,一量出現流量小於4K以下的話就關閉終端,重新輸入上述三條指令,不斷這樣操作。
另外,重復操作上述三條指令還不夠,因為有時候下載某個節點一旦出現錯誤,重復上述三條指令還是會錯誤,終端如下提示:
www.linuxidc.com @linuxidc ~/android
# ../bin/repo sync
Fetching projects:93% (154/165)fatal: Not a git repository: '/home/你的用戶名/WORKING_DIRECTORY/.repo/projects/packages/wallpapers/LivePicker.git'
error: Cannot fetch platform/packages/wallpapers/LivePicker
這個時候你就必須手動刪除這個 LivePicker.git文件夾了,即:
rm -rf /home/你的用戶名/WORKING_DIRECTORY/.repo/projects/packages/wallpapers/LivePicker.git
然後再重復上述三條指令即可,如此,就可以完成源碼下載了。

下載結束如下圖所示:


2.3 驗證Git Tags

$gpg --import
然後復制下面的內容,粘貼到終端,再按CTRL+D

-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.2.2 (GNU/Linux) mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7 8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq /HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5 jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4 MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9 b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI 2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+ OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM= =Wi5D -----END PGP PUBLIC KEY BLOCK-----


OK,下載完了,查看一下你的WORKING_DIRECTORY目錄,下面就是Android4.0的源文件了.

關於如何在Ubuntu 11.10下編譯Android 4.0源碼,請參考: http://www.linuxidc.com/Linux/2011-12/49782.htm

Copyright © Linux教程網 All Rights Reserved