閱讀480 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Get Android Source Code

for detailed information, refer to Android Open Source Project ---> Get source
  • 係統環境: Ubuntu 9.10, Kernel 2.6.31-14-generic, i686
  • 網絡環境: 學生公寓B區 中國電信寬帶接入
  • Date: 12/12/2009

安裝必要的軟件包

  • 安裝git-core, gnupg, sun-java5-jdk, flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl, libncurses5-dev, zlib1g-dev
    $ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
本機當前源沒有Package: sun-java5-jdk,為安裝sun-java5-jdk,將當前源替換為以下Ubuntu 9.04的源
deb http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse
然後
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
安裝sun-java5-jdk後,換回Ubuntu 9.10的源。 若希望係統使用sun-java5-jdk,首先獲得root權限並使用命令
# update-alternatives --config java
然後,選擇"/usr/lib/jvm/java-1.5.0-sun/jre/bin/java"這一項,使係統使用sun-java5-jdk。 可以用命令
$ java -version
查看係統當前使用的java版本
  • 安裝Valgrind: a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc.
    $ sudo apt-get install valgrind
  • 安裝新版libreadline
    $ sudo apt-get install lib32readline5-dev
本機源無此Package, and Android Open Source Project says: 'Intrepid (8.10) users may need a newer version of libreadline'. 在網上隻搜到了用於amd64平台的lib32readline5-dev.deb包。 這裏有readline5的源代碼,可以編譯出lib32readline5-dev,有興趣的可以試一下。筆者目前沒有裝lib32readline5-dev。(但是,可以使用$sudo apt-get install libreadline5-dev 安裝libreadline5-dev。它與lib32readline5-dev 一樣?筆者裝了libreadline5-dev,目前不知道這是幹嘛用的。)

安裝Repo

For more information about Repo, see Using Repo and Git.
  • 在用戶主目錄新建bin目錄。
    $ cd ~
    $ mkdir bin
  • 將該目錄添加進PATH環境變量(在~/.bashrc末添加一行"PTAH=$PATH:$HOME/bin",重新開個終端即可)
  • 下載Repo腳本(下載完後可以用編輯器打開這個腳本爽一下)
    $ curl http://android.git.kernel.org/repo >~/bin/repo
  • 給Repo腳本加上可執行權限
    $ chmod +x ~/bin/repo

初始化Repo客戶端

輸入
$ cd ~
$ mkdir yangdroid; cd yangdroid
下載Repo,下列命令將在"下載Android源碼階段"下載Android master version
$ repo init -u git://android.git.kernel.org/platform/manifest.git
下載其他版本的Android用-b選項,如
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
在提示符後輸入用戶名和Email(推薦使用gmail)。

下載Android源碼

輸入
$ repo sync
下載完後,Android源碼將存放於~/yangdroid目錄。

Verifying Git Tags

輸入
$ gpg --import
粘貼下列Key至終端,回車並按Ctrl-D將Key導入GnuPG key database。
-----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-----

END

  • for other platforms, such as Ubuntu Linux (64-bit x86), Mac OS, and Other Linux, see
Android Open Source Project ---> Get source

最後更新:2017-04-02 16:48:12

  上一篇:go javascript中幾種頁麵跳轉方式
  下一篇:go resin服務器支持SSI相關配置