Linux系統(tǒng)下的Android開(kāi)發(fā)環(huán)境搭建_第1頁(yè)
Linux系統(tǒng)下的Android開(kāi)發(fā)環(huán)境搭建_第2頁(yè)
Linux系統(tǒng)下的Android開(kāi)發(fā)環(huán)境搭建_第3頁(yè)
Linux系統(tǒng)下的Android開(kāi)發(fā)環(huán)境搭建_第4頁(yè)
Linux系統(tǒng)下的Android開(kāi)發(fā)環(huán)境搭建_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余6頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Linux系統(tǒng)下的Android開(kāi)發(fā)環(huán)境搭建1 簡(jiǎn)介2.2 版本2.3 系統(tǒng)結(jié)構(gòu)2.4 開(kāi)發(fā)4.4.1 應(yīng)用開(kāi)發(fā) 知識(shí)準(zhǔn)備 環(huán)境搭建4.4.2 系統(tǒng)開(kāi)發(fā) 知識(shí)準(zhǔn)備. 環(huán)境搭建(32位) 環(huán)境搭建(64位) 典型示例101簡(jiǎn)介Android(讀音?ndr?d)是Google主持開(kāi)發(fā)的開(kāi)源移動(dòng)平臺(tái)。整個(gè)平臺(tái)包括操作系統(tǒng)、中間件、虛擬機(jī)、應(yīng)用框架、應(yīng)用。該平臺(tái)最初是作為智能手機(jī)操作系統(tǒng)開(kāi)發(fā)的,隨著發(fā)展,通過(guò)移植和修改,也可用于平板電腦和其他手持設(shè)備。2版本Android的版本周期約為6個(gè)月。已發(fā)布(截至2010年10

2、月)的主要版本有1.0、1.1、1.5、1.6、2.1、2.2。1.0、1.1、1.5(Cupcake)、1.6(Donut)已過(guò)時(shí),新系統(tǒng)不應(yīng)使用;2.1 代號(hào)Eclair,是2.0和2.01的升級(jí)版,取代后兩者,穩(wěn)定版;2.2 代號(hào)Froyo,為目前最新版,不斷升級(jí)中。支持Flash,詳見(jiàn)Android2.2PlatformHighlights;3.1 代號(hào)Gingerbread,計(jì)劃中的版本,全新的UI、游戲性能,可能支持視頻聊天;3.5 代號(hào)Honeycomb,計(jì)劃中的版本,有最低硬件要求,用于平板電腦。版本代號(hào)即提取源碼時(shí)使用的分支名。3系統(tǒng)結(jié)構(gòu)Android結(jié)構(gòu)如圖:HomeCon

3、tactsApplicationsPhoneBrowserApplicationFrameworkActivityManagerWindowMinaigcrContentProviclersViewSjrstefTiPackageManagerAnDADIDRUNTIMECoreLibrariesTelephonyManagerResourceManagerLocationManagerNatificaocfiManagerLINUXKERNELDisplayDriverFfashMemoryDriverBinder(IPC)DriverSurfaceManagerOpenGL|ESKieyp

4、adDriverMcdkiFrarneworkFreeiypeCameraDriverWiFiDriverSQLiteWfeMCiiAudioDriversPowerManagcfinent1:應(yīng)用應(yīng)用是一個(gè)個(gè)獨(dú)立的程序,如瀏覽器、計(jì)算器、游戲等。應(yīng)用使用Java開(kāi)發(fā),基于AndroidSDK。2:應(yīng)用框架是一些基礎(chǔ)組件,供上層應(yīng)用所調(diào)用,可以在多個(gè)應(yīng)用之間共享的功能。包括通知、視圖、資源管理等。3:本地庫(kù)(native)主要由C/C+庫(kù)組成。4:Dalvik虛擬機(jī)與核心庫(kù)Android應(yīng)用使用Java語(yǔ)言開(kāi)發(fā),但并非運(yùn)行于Java虛擬機(jī)之上,而是對(duì).java文件進(jìn)行反編譯-重編譯而成dex文

5、件,運(yùn)行在Dalvik虛擬機(jī)上。Android核心庫(kù)實(shí)現(xiàn)了大部分Java5SE的庫(kù),但不包括Swing等不使用于Android的庫(kù),另外還添加了一些專(zhuān)用于Android的庫(kù)。5:Linux內(nèi)核Android使用標(biāo)準(zhǔn)Linux內(nèi)核2.6.32(2.2平臺(tái)),再加上一些Android專(zhuān)用驅(qū)動(dòng)。各種硬件驅(qū)動(dòng)在此定義。4開(kāi)發(fā)應(yīng)用開(kāi)發(fā)也稱(chēng)為AndroidSDK開(kāi)發(fā)。開(kāi)發(fā)環(huán)境Windows/Mac/Linux皆可。知識(shí)準(zhǔn)備應(yīng)用開(kāi)發(fā)使用Java語(yǔ)言。Java語(yǔ)言是參考C+而制定的,學(xué)習(xí)Java語(yǔ)言之前,若曾進(jìn)行過(guò)C+開(kāi)發(fā),應(yīng)再溫習(xí)一遍C+的語(yǔ)法、類(lèi)、類(lèi)繼承、模板等,有利于快速掌握J(rèn)ava中的相似部分,且不容

6、易混淆兩者的區(qū)別。若沒(méi)有C+基礎(chǔ),可直接學(xué)習(xí)Java語(yǔ)言及JavaSE庫(kù)。學(xué)習(xí)Java語(yǔ)言時(shí),可略過(guò)Swing界面學(xué)習(xí),因?yàn)锳ndroid使用另一套UI庫(kù)。環(huán)境搭建(1) Eclipse使用Eclipse3.5.2。3.6目前與ADT不兼容,不能使用。需下載包含eclipsejdt的版本,推薦:/downloads/packages/eclipse-ide-java-developers/galileosr2安裝:Eclipse解壓后可以直接使用。(2) JDK版本5或6都可。下載地址下載版文檔在線(xiàn)文檔(3) androidsdka) 解壓到一個(gè)目錄下

7、,例如C:ProgramFilesandroid-sdk-windows;b) 在環(huán)境變量PATH中添力口tools目錄,例如C:ProgramFilesandroid-sdk-windowstools;運(yùn)行目錄下的sdksetup.exe(僅限windows可用)添加組件,下載2.2版本。若連接失敗,需選中Settings中的Forcehttps:/.sourcestobefetchedusinghttp:/.;.注:應(yīng)用開(kāi)發(fā)應(yīng)基于想支持的最低版本開(kāi)發(fā),然后在所有后續(xù)版本中測(cè)試。(4) Apacheant(可選)ApacheAnt是將軟件編譯、測(cè)試、部署等步驟聯(lián)系在一起加以自動(dòng)化的一個(gè)工具。

8、Linux和Mac需要安裝1.6.5以上版本,Windows需要1.7或以上。最新版本為1.8.1。由于eclipse自帶1.7.1,可跳過(guò)此步驟。/bindownload.cgi安裝:a)解壓,如C:ProgramFilesapache-ant-1.8.1b)新增一個(gè)環(huán)境變量ANT_HOME,值為C:ProgramFilesapache-ant-1.8.1c)環(huán)境變量PATH中添加ANT_HOME%bin(5) ADT此為Android的Eclipse插件下載、安裝:a)在Eclipse菜單中選擇Help-InstallNewSoftwareb)點(diǎn)Ad

9、d,隨便取名,如AndroidPlugin,地址填https:/dl-若連接失敗,則改為http:/dl-c)選才DDeveloperTools,按提示進(jìn)行安裝d)安裝完成后重啟Eclipsee)菜單中選擇Window-Preferencesf)選才¥Android頁(yè),首次打開(kāi)會(huì)彈出是否搜集使用信息的提示框,這里有點(diǎn)bug,需要關(guān)閉Preferences窗口才能點(diǎn)擊該提示框g)設(shè)置Android頁(yè)中的SDKLocation,填入AndroidSDK所在路徑,如C:ProgramFilesandroid-sdk-windows(6) NDK(可選)可在應(yīng)用中調(diào)用C/C+本地庫(kù)注意:使用

10、NDK調(diào)用本地庫(kù)有性能損耗,不推薦系統(tǒng)開(kāi)發(fā)也稱(chēng)AndroidSource開(kāi)發(fā)。目前只能在Linux下開(kāi)發(fā)。進(jìn)行系統(tǒng)開(kāi)發(fā)的目的:在自有硬件系統(tǒng)上運(yùn)行Android,需要修改硬件驅(qū)動(dòng)、硬件適配層添加或修改功能知識(shí)準(zhǔn)備根據(jù)開(kāi)發(fā)的模塊,需要掌握C、C+、Java之一或多者。開(kāi)發(fā)和移植內(nèi)核驅(qū)動(dòng)使用C語(yǔ)言;本地庫(kù)使用C和C+語(yǔ)言;本地庫(kù)的JNI封裝用到C+和Java;應(yīng)用框架開(kāi)發(fā)則完全基于Java。環(huán)境搭建(32位)操作系統(tǒng)建議使用Ubuntu10.4或10.10。如果是在虛擬機(jī)中使用,需要分配1.5GB的內(nèi)存和10GB以上的硬盤(pán)空間。以下以Ubuntu32位10.4及froyo分支為例:(1)安裝必備工

11、具:$sudoapt-getinstallgit-coregnupgflexbisongperflibsdl-devlibesd0-devlibwxgtk2.6-devbuild-essentialzipcurllibncurses5-devzlib1g-dev可選工具:(用于查找內(nèi)存泄漏、棧崩潰、數(shù)組越界等)$sudoapt-getinstallvalgrind(2)安裝repoa)新建一個(gè)目錄作為安裝目標(biāo),如/bin,表示個(gè)人目錄b)下載$curl/repo>/bin/repoc)$chmoda+x-/bin/repo(3)JD

12、K5a)下載b)放到要安裝的目錄下,例如/binc)$chmod+xjdk-1_5_0_22-linux-i586.bind)安裝:$./jdk-1_5_0_22-linux-i586.bin(4)配置PATH(必疝口到系統(tǒng)變量,加到用戶(hù)變量Eclipse不買(mǎi)賬)a)$cd/etc$sudochmoda+wprofileb)用gedit編輯profile,末尾加上(<username用換為你的用戶(hù)名):exportJAVA_HOME="/home/<username>/bin/jdk1.5.0_22"exportCLASSPATH=".:$JAV

13、A_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"exportPATH="$PATH:/home/<username>/bin:$JAA_HOME/bin”c)注銷(xiāo)后重登錄以生效一(5)下載Androidsourcea)建立一個(gè)目錄,如androidsourceb)進(jìn)入該目錄$repoinit-ugit://platform/manifest.git-bfroyo配置過(guò)程中需要輸入名字、郵箱獲取最新源碼$reposync總共2.1GB,大約要花半天時(shí)間若要獲取其他版本,參見(jiàn)Using

14、RepoandGit(6)驗(yàn)證Taga)導(dǎo)入校驗(yàn)密鑰$gpg-import將以下內(nèi)容粘帖到命令行中-BEGINPGPPUBLICKEYBLOCK-Version:GnuPGv(GNU/Linux)mQGiBEnnWD4RBACt9/h4V9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSVlFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw78tR1cXb1970b8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMDu4P

15、VgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0ZwNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7P2cq/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4

16、tWCp4o0dpIvDPBEa9b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5kcm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI2t09Ed+9Bm4gmEO5Ag0ESedYRBA

17、IAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAlQN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806UphisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbkC2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMXLWBGWE0znfRrnczI5P49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+OgTg7Co

18、w+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/MpK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7丫7sKZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phbN8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjAvUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8

19、jEGqmUtkBszwoG1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQhN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0lEXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW30a+jv2QSTlrx4KLM=Wi5D-ENDPGPPUBLICKEYBLOCK-b)按ctrl+D結(jié)束c)驗(yàn)證標(biāo)簽(若有需要)$gittag-vtagname(7)編譯命令行進(jìn)入source目錄,運(yùn)行:make首次編譯約需2小時(shí)多,完成后目錄

20、大小5.8GB(8)Eclipse注意:Eclipse僅是用來(lái)編輯源碼、驗(yàn)證編譯,要生成真正可執(zhí)行的輸出,只能通過(guò)命令行make編譯。a)下載:參見(jiàn)前文b)安裝,解壓即可c) 命令行make編譯整個(gè)Android源碼d) 命令行進(jìn)入androidsource目錄,輸入以下:$cpdevelopment/ide/eclipse/.classpath.$chmodu+w.classpathe)調(diào)整Java虛擬機(jī)heap大小,修改eclipse.ini文件,將-Xms40m-Xmx256m修改為-Xms128m-Xmx512mf)運(yùn)行Eclipse,菜單中選擇File-New-JavaProject

21、,輸入項(xiàng)目名后,選擇Createprojectfromexistingsource選取androidsouce根目錄,等待Eclipse解析完成即可。環(huán)境搭建(64位)注:目前master的froyo源碼要求在64位操作系統(tǒng)及Java6下編譯。如果是在虛擬機(jī)中使用,需要分配1.5GB的內(nèi)存和10GB以上的硬盤(pán)空間。以下以Ubuntu64位10.10及master源碼為例:(1)安裝必備工具:$sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essentialzipcurlzlib1g-devgcc-multilibg+-multilibli

22、bc6-dev-i386lib32ncurses5-devia32-libsx11proto-core-devlibx11-devlib32readline5-devlib32z-dev配置X11庫(kù)$sudoln-s/usr/lib32/libX11.so.6/usr/lib32/libX11.so(2)安裝repoa)新建一個(gè)目錄作為安裝目標(biāo),如/bin,表示個(gè)人目錄b)下載$curl/repo>/bin/repoc)$chmoda+x-/bin/repo(3)JDK6a)下載b)放到要安裝的目錄下,例如/binc)$chmod+

23、xjdk-6u22-linux-i586.bind)安裝:$./jdk-6u22-linux-i586.bine)配置PATH(必須加到系統(tǒng)變量,加到用戶(hù)變量Eclipse不買(mǎi)賬)$cd/etc$sudochmoda+wprofilef)用gedit編輯profile,末尾加上(<username用換為你的用戶(hù)名):exportJAVA_HOME="/home/<username>/bin/jdk1.6.0_22"exportCLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar&q

24、uot;exportPATH="$PATH:/home/<username>/bin:$JAA_HOME/bin”g)注銷(xiāo)后重登錄以生效一(4)下載Androidsourcea)建立一個(gè)目錄,如androidsourceb)進(jìn)入該目錄$repoinit-ugit:/platform/manifest.git不帶參數(shù)-b為取master源碼配置過(guò)程中需要輸入名字、郵箱c)獲取最新源碼$reposync總共2.1GB,大約要花半天時(shí)間若要獲取其他版本,參見(jiàn)UsingRepoandGit(5)驗(yàn)證Taga)導(dǎo)入校驗(yàn)密鑰$gpg-imp

25、ort將以下內(nèi)容粘帖到命令行中-BEGINPGPPUBLICKEYBLOCK-Version:GnuPGv(GNU/Linux)mQGiBEnnWD4RBACt9/h4V9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSVlFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw78tR1cXb1970b8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMDu4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN

26、7dEoff0FeXsEaUA6U90sEoVks0ZwNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7P2cq/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9b/aF/ygcR8mh5hgUf

27、pF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5kcm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/

28、vAlQN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806UphisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbkC2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMXLWBGWE0znfRrnczI5P49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/MpK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7sKZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論