How to download Android source code on Windows?
update: 2012/2, 現在 SDK Manager 已支援在該介面中下載 Android 源碼。限 API 14+
Google 依照他原先的承諾,終於在 2008/10/21 開放 Android 的原始碼。你現在,就可以到 Android Open Source Project 官方網站,下載他的原始碼。原始碼的部份約有 2.1G bytes,編譯完後的大小約 6G bytes。
現在問題來了,目前下載及編譯都只支援 Linux 和 Mac 這兩個作業系統。編譯的部份只支援 Linux,這還可以理解。怎麼連下載都不支援 Windows 呢?像我,現在用的是 Windows,而我的目的,只是想下載及參考他的原始碼,並不想編譯他。
摸索了一陣子,終於打通這個環節。現在,我在 Windows 上也可以隨時下載部分或全部的原始碼。現在,就將我的經驗分享給有相同需求的你。
幾乎每個 open source 都會用版本控制系統,來讓開發者下載或上傳程式碼。因此,只要可以在 Windows 上執行版本控制系統,下載應該就沒問題了。
一般用的版本控制系統是 CVS,也有不少人用 SubVersion,像 Google 自己的 Open Source Programs,用的就是 SubVersion。不過這次 Android 用的版本控制系統,是我第一次聽到的 Git。所幸這個 Git 有 Windows 的執行檔。
首先,你先到 http://code.google.com/p/msysgit/downloads/list 上下載 Git-xxx.exe,我剛下載的是 Git-1.6.0.2-preview20080923.exe 這個檔案。
下載下來後,直接按確定到底,就可以完成安裝。裝完後,執行他的 Git Bash 程式。你會看到像是下面這樣的命令列視窗。其實,這就是個和 Linux 上相同的 bash,不少 Linux 命令都有,連 Perl 也找的到。不過,最重要的是,他整合進 git 這個命令。
接著,用 cd 命令,進入到你要下載 Android 原始碼的目錄後,再執行 git clone <repository> 命令,就可以下載你指定的 package。
舉個例子來說,我想要下載 Browsers 這個應用程式的原始碼。底下是我在 Git Bash 中下的命令。
cd /d/AndroidProgram/AndroidSource/1.0r1/Android_open_source/platform/packages/apps
git clone git://android.git.kernel.org/platform/packages/apps/Browser.git
這步的關鍵就在,你要知道你所要下載原始碼的 repository。告訴你,所有的 Android repositories 都在 http://git.source.android.com。進入這個網站後,你會看到下面這樣的畫面。
Project 這一欄列的就是 Android 中每個 sub-project 的路徑。前面再加上 git://android.git.kernel.org/ 就是他的 repository 路徑。
再舉個例子來說,如果你像要下載 SQLite 的原始碼,那就下:
git clone git://android.git.kernel.org/platform/external/sqlite.git
PS: 一直有人問要如何在 Windows 中,下載全部的原始碼。老實說,我還沒發現好方法,我目前是寫個 shell script 逐筆將要下載的東西寫上,辛苦一次,以後要再重下載,就輕鬆了。如果你有其他好方法,歡迎分享。
如果你只是想看某個檔案的內容,你也可以點最右邊的 tree 連結,就這樣一路點下去,看到檔案列表時,再點最右邊的 raw 連結。看到沒,原始碼就顯示在你的瀏覽器上。
22 則留言:
順帶一提,在SDK的目錄(和android.jar同一層)下建立sources資料夾,然後把myroid/frameworks/base/core/java下面的android資料夾整個拷貝進去就可以直接在ecplise裡面用hyperlink的方式瀏覽source code
请问,怎么在windows上,下载全部的代码?
我使用了mkdir mydroid
cd mydroid
repo init -u git://android.git.kernel.org/platform/manifest.git
repo sync但不行,提示 exec: python:not found
已经安装了 python
你太貪心了,要一次下載全部的原始碼。開玩笑的。
據我所知,在 Windows 上,還沒好方法。我是一個一個 sub-project 下載的。
要下載全部的原始碼,還是建議用 Linux。
請問一下,我也是用你的方法抓,我裝了Git-1.6.0.2-preview20080923.exe,之後執行
$ git clone git://android.git.kernel.org/platform/build.git
不過它出現錯誤,訊息如下:
Initialized empty Git repository in e:/Android/platform/build/.git/
android.git.kernel.org[0: 199.6.1.176]: errno=No such file or directory
android.git.kernel.org[1: 204.152.191.13]: errno=No such file or directory
android.git.kernel.org[2: 204.152.191.45]: errno=No such file or directory
android.git.kernel.org[3: 130.239.17.12]: errno=No such file or directory
fatal: unable to connect a socket (No such file or directory)
請問有可能的原因是什麼呢?是因為設定,或是我機器在防火牆之內有關呢,謝謝。
我試了一下,沒問題的。
$ git clone git://android.git.kernel.org/platform/build.git
Initialized empty Git repository in C:/temp/abcd/build/.git/
remote: Counting objects: 736, done.
remote: Compressing objects: 100% (456/456), done.
Receiving objects: 8% (63/736), 155.99 KiB | 17 KiB/s
應該和你在 firewall 內有關,你可能e要去 git web site 上找找解法。
请问,怎么在windows上,下载全部的代码?
我使用了mkdir mydroid
cd mydroid
repo init -u git://android.git.kernel.org/platform/manifest.git
repo sync但不行,提示 exec: python:not found
已经安装了 python
====>
在WINDOWS的我的电脑里设置 环境变量 PATH 包括python的目录
就可以找到python
至于能否执行完repo 就要python 执行有没有问题了, 我遇到一些库的问题 也许是没装全python
请问如何对Msysgit设置Proxy访问 repos URL?
采用这种方法可以:
http://yu-yan.net/blog/index.php?entry=entry090323-021114
用 cygwin 也可以嗎? Thanks
cygwin 可以用 repo sync 拉全部 source 我目前正在拉中~~
zeroo.bug well done.
看起來用 cygwin 是個不錯的方法。
試成功後,別忘了分享一下,如何裝 cygwin 以及如何在 cygwin 下,下載 Android 原始碼。
我也剛接觸android而已能提供大家參考的知識也很少,
我用Cygwin抓下全部source沒問題, 至少我這邊是成功的,
cygwin用目前最新的版本, 要裝的 package像gcc/python/curl/git等..., git我是自己compile source用,
有點要注意某些防毒軟體如norton/mcafee會造成git error "unable to load shell32" 的問題, 記的在下repo sync前, 卸載防毒軟體服務, 其他就沒什麼特別要注意的了.
希望本人的些許經驗對想用cygwin的先進們能提供一些幫助.
請問一下
我下載完了
但是檔案在哪我找不到耶?
小弟我寫了一個下載 Android Source Code 的懶人包,可以在 Windows 下一次下載所有的 Source Code,有需要的人可以參考看看
http://www.jackforfun.com/2009/10/lazy-android-git.html
這個 Android Source Code 的懶人包,讚!
謝謝 台"客" 的分享。
請問懶人包灌完後,要怎麼在eclipse裡按ctrl看到原始碼啊?我查一堆資料都是舊版的,已不適用了,謝謝
我已經搞定了,謝謝
搞定的方式貼在這
http://lp43.blogspot.com/2010/06/android22eclipse.html
還望前輩指點@@"
你好,
我沒有使用懶人包
剛剛下載了一個原始碼
但不知道載到哪裡了說
請問有人知道嗎?
謝謝
根據ysl大大的作法,我會出現
fatal: Unable to look up android.git.kernel.org (port:9418)
根據網路上的解法...
http://dilipm79.blogspot.com/2009/03/accessing-git-repository-on-internet.html
還是無法讓我下載程式碼...
請問還有別的方法嗎???
P.S. 公司統一用proxy
我也是遇到proxy的問題,我是這樣做的:
$ git config --global http.proxy http://123.123.123.123:1234
先設定好proxy的ip跟port。
然後,
$ cd forder
$ git clone http://android.git.kernel.org/kernel/common.git
把那個git://改成http://才鑽出去的...
感謝樓上的~ it works!
更快方法
法一、
在windows上裝virtualBox用Ubuntu
來做git的動作。檔案可以透過share folder的方法
在windows跟ubuntu之間共用。
法二、
用ssh連線Linux server。用git
在開sftp把檔案抓回來也很快。
by Jeremy
張貼留言