您好,很高興能幫助您
1 git和repo簡介
Git 是 linux Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的分布式版本控制軟體,它不同於Subversion、CVS這樣的集中式版本控制系統。在集中式版本控制系統中只有一個倉庫(repository),許多個工作目錄(working ),而像Git這樣的分布式版本控制系統中(其他主要的分布式版本控制系統還有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一個工作目錄都包含一個完整倉庫,它們可以支持離線工作,本地提交可以稍後提交到伺服器上。分布式系統理論上也比集中式的單伺服器系統更健壯,單伺服器系統一旦伺服器出現問題整個系統就不能運行了,分布式系統通常不會因為一兩個節點而受到影響。
因為Android是由kernel、Dalvik、Bionic、prebuilt、build等多個Git項目組成,所以Android項目編寫了一個名為Repo的Python的腳本來統一管理這些項目的倉庫,使得Git的使用更加簡單。
2 獲取源碼的工具安裝
(a)安裝git 和curl:
apt-get install git-core curl
(b)安裝repo:
創建存放repo目錄
$ cd ~
$ mkdir bin
$ export PATH=~/bin:$PATH
下載repo並改變許可權
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
3 下載源碼
下載Android源碼
$ mkdir mydroid
$ cd mydroid
$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo sync
下載Android Linux kernel源碼(具體見http://android.git.kernel.org/)
git clone git://android.git.kernel.org/kernel/common.git(下載下來的內核源碼在common文件夾中)
//註:如果過程中出現錯誤:fatal: Unable to look up (port 9418) (Name or service not known),請檢查下Linux的網路是否可用。我出現這個錯誤的時候是因為無線網設置了IP和MAC綁定引起的。
B. 誰知道Android內核源碼中goldfish部分代碼到哪裡去了
我也苦惱了幾天,不過剛弄到。步驟是這樣的:先進入git下面的common目錄,輸入命令:git branch -a會列出所有的分支:* android-2.6.36 remotes/origin/HEAD -> origin/android-2.6.36 remotes/origin/android-2.6.35 remotes/origin/android-2.6.36 remotes/origin/archive/android-2.6.25 remotes/origin/archive/android-2.6.27 remotes/origin/archive/android-2.6.29 remotes/origin/archive/android-2.6.32 remotes/origin/archive/android-gldfish-2.6.29 remotes/origin/archive/android-goldfish-2.6.27如上。然後再執行git checkout origin/archive/android-goldfish-2.6.27 -b goldfish命令,一會就可以了。這樣就有golfish的部分代碼了。
C. 在哪裡可以下載到android的內核源代碼
按照google的官方做法需要linux系統,使用repo和git下載代碼,具體步驟參考:
http://source.android.com/source/downloading.html
D. 編譯Android源碼和內核源碼的區別
Android源碼編譯之後生成的是ramdisk.img、system.img和userdata.img。而內核源碼編譯完成之後生成的是ZImage。在一般情況下Android源碼是不帶有內核源碼的,但是帶有一個鏡像,這樣在編譯完Android源碼之後就可以模擬器啟動了,如果要更換系統的內核,此時將高版本的內核源碼進行編譯生成ZImage然後替換Android系統的的鏡像。這樣使用模擬器啟動之後就可以查看內核是否已經被刷新。
請注意,android源碼和kernel源碼是分開下載的
編譯android源碼
進入source目錄下,執行make 即可。
編譯完成後,可以在源碼目錄的out/target/proct/generic/目錄下看到編譯好的ramdisk.img、system.img和userdata.img了。
編譯內核源碼
新建Kernel/goldfish,在這個目錄下進行編譯
E. android系統是開源去哪裡下載源代碼
他這不是編程原代碼對外公開,而是系統外部介面對外公開,簡單說,開源就好比是,英特爾生產一個CPU 然後告訴你所有的腳都是干嗎用的,這個告訴你干嗎用的就等於是安桌的開源了, 你知道CPU那些腳干嗎用的後,然後再根據這些腳的功能生產主板,針對這些腳所生產出來的主板就好比那些為因安桌開源後,別人針對安桌所編寫出來的軟體了,
F. android內核源代碼有多大
每個版本的源代碼不同,幾百兆到幾G不等。
Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。
G. 按android官網下載的android源碼裡面有linux內核kernel嗎
從源代碼樹下載下來的最新Android源代碼,是不包括內核代碼的,也就是Android源代碼工程默認不包含Linux Kernel代碼,而是使用預先編譯好的內核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。
H. 哪裡有Linux內核源代碼下載
如果是拿來用或者改寫最新內核的
Linux最新內核代碼:
http://www.kernel.org/
如果是拿來學習研究的
Linux早期版本內核代碼(簡單易學):
http://www.oldlinux.org/index_cn.html