首先介紹一下什么是Android
Android 是Google開發(fā)的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)。它摩托羅拉的首款A(yù)ndroid手機(jī)CLIQ包括操作系統(tǒng)、用戶界面和應(yīng)用程序 —— 移動(dòng)電話工作所需的全部軟件,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。Google與開放手機(jī)聯(lián)盟合作開發(fā)了 Android,這個(gè)聯(lián)盟由包括中國(guó)移動(dòng)、摩托羅拉、高通、宏達(dá)電和 T-Mobile 在內(nèi)的 30 多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。Google通過與運(yùn)營(yíng)商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望借助建立標(biāo)準(zhǔn)化、開放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開放式的生態(tài)系統(tǒng)。
它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分:低層以Linux核心工作為基礎(chǔ),只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),以java作為編寫程式的一部分。另外,為了推廣此技術(shù),Google和其它幾十個(gè)手機(jī)公司建立了開放手機(jī)聯(lián)盟(Open Handset Alliance)。Android使用Linux2.6作為操作系統(tǒng),Linux2.6是一種標(biāo)準(zhǔn)的技術(shù),Linux也是一個(gè)開放的操作系統(tǒng)。Android對(duì)操作系統(tǒng)的使用包括核心和驅(qū)動(dòng)程序兩部分,Android的Linux核心為標(biāo)準(zhǔn)的Linux2.6內(nèi)核,Android更多的是需要一些與移動(dòng)設(shè)備相關(guān)的驅(qū)動(dòng)程序。
android官方網(wǎng)站 http://code.google.com/intl/zh-CN/android/
android開發(fā)網(wǎng)站 http://developer.android.com
再來了解一下Android-X86 任何手機(jī)都是要在專有的硬件中使用的,即便Android是Linux開源代碼平臺(tái)也不例外的要依賴專有的手機(jī)硬件平臺(tái),不過在幾位華人軟件工程師的努力下,Linux的用戶已經(jīng)可以享受到真正在上網(wǎng)本上可以安裝使用的Android了,這就是Android-x86開源項(xiàng)目。此項(xiàng)目可以輕松的將Android系統(tǒng)安裝在X86平臺(tái)的上網(wǎng)本或者是老式的筆記本上,當(dāng)然也可以在老式的臺(tái)式機(jī)上運(yùn)行,不過在選擇是否使用Android系統(tǒng)在本本上運(yùn)行之前,首先在VirtualBox進(jìn)行體驗(yàn)式很好的方式。 Android-x86 - Porting Android to x86http://www.android-x86.org/Android源碼編譯和使用Android-X86項(xiàng)目是兩個(gè)完全不同的體驗(yàn)Android方式,前者是編譯后的鏡像文件通過Android的模擬器在Linux系統(tǒng)上運(yùn)行,后者是使用一個(gè)rebuild的Linux版本安裝在電腦上。本文的目的就是為大家揭開一層Android的神秘面紗。
再來了解一下Android-X86
任何手機(jī)都是要在專有的硬件中使用的,即便Android是Linux開源代碼平臺(tái)也不例外的要依賴專有的手機(jī)硬件平臺(tái),不過在幾位華人軟件工程師的努力下,Linux的用戶已經(jīng)可以享受到真正在上網(wǎng)本上可以安裝使用的Android了,這就是Android-x86開源項(xiàng)目。此項(xiàng)目可以輕松的將Android系統(tǒng)安裝在X86平臺(tái)的上網(wǎng)本或者是老式的筆記本上,當(dāng)然也可以在老式的臺(tái)式機(jī)上運(yùn)行,不過在選擇是否使用Android系統(tǒng)在本本上運(yùn)行之前,首先在VirtualBox進(jìn)行體驗(yàn)式很好的方式。
Android-x86 - Porting Android to x86 http://www.android-x86.org/
Android源碼編譯和使用Android-X86項(xiàng)目是兩個(gè)完全不同的體驗(yàn)Android方式,前者是編譯后的鏡像文件通過Android的模擬器在Linux系統(tǒng)上運(yùn)行,后者是使用一個(gè)rebuild的Linux版本安裝在電腦上。
本文的目的就是為大家揭開一層Android的神秘面紗。
一、在Ubuntu 9.10上編譯Android源碼并使用模擬器運(yùn)行
1、編譯前的準(zhǔn)備工作,通過git獲取Android的源碼
通過git獲取Android的源碼、配置JDK1.5環(huán)境(使用最新的JDK1.6反倒是編譯不過去),準(zhǔn)備Ubuntu 9.10必要的編譯環(huán)境。
Android是由Kernel、Dalvik、Bionic、Prebuilt、build等多個(gè)項(xiàng)目組成,每個(gè)部分分別使用Git進(jìn)行管理,當(dāng)時(shí)如果使用git命令來逐個(gè)獲取顯得很麻煩,所以Android項(xiàng)目編寫了一個(gè)名為Repo的Python的腳本來統(tǒng)一管理這些項(xiàng)目的倉(cāng)庫(kù),使得項(xiàng)目的獲取更加簡(jiǎn)單。
在Ubuntu 9.10上安裝git管理工具,su - 切換到root賬戶下執(zhí)行apt-get install git-core curl
通過curl工具從獲取Android項(xiàng)目Repo腳本文件。curl http://android.git.kernel.org /repo>~/repo
chmod a+x ~/repo
下載repo腳本文件到當(dāng)前用戶的home目錄下,并保存在文件repo中,并給repo文件可執(zhí)行權(quán)限。
執(zhí)行利用repo腳本和Git、curl軟件獲取Android的源代碼,~/repo init –ugit://android.git.kernel.org/platform/manifest.git ~/repo initializedin /android這樣的提示,說明本地的版本庫(kù)已經(jīng)初始化完畢,并且包含了當(dāng)前最新的sourcecode。~/repo sync
使用repo sync命令把整個(gè)Android代碼樹同步到本地
repo sync同步過程,Syncing work tree說明已經(jīng)同步完成。如果編譯后需要獲取新版本再次編譯,不要重復(fù)執(zhí)行初始化和sync同步過程。
聯(lián)系客服