版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux系统下的Android开发环境搭建1 简介2.2 版本2.3 系统结构2.4 开发4.4.1 应用开发 知识准备 环境搭建4.4.2 系统开发 知识准备. 环境搭建(32位) 环境搭建(64位) 典型示例101简介Android(读音?ndr?d)是Google主持开发的开源移动平台。整个平台包括操作系统、中间件、虚拟机、应用框架、应用。该平台最初是作为智能手机操作系统开发的,随着发展,通过移植和修改,也可用于平板电脑和其他手持设备。2版本Android的版本周期约为6个月。已发布(截至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)已过时,新系统不应使用;2.1 代号Eclair,是2.0和2.01的升级版,取代后两者,稳定版;2.2 代号Froyo,为目前最新版,不断升级中。支持Flash,详见Android2.2PlatformHighlights;3.1 代号Gingerbread,计划中的版本,全新的UI、游戏性能,可能支持视频聊天;3.5 代号Honeycomb,计划中的版本,有最低硬件要求,用于平板电脑。版本代号即提取源码时使用的分支名。3系统结构Android结构如图:HomeCon
3、tactsApplicationsPhoneBrowserApplicationFrameworkActivityManagerWindowMinaigcrContentProviclersViewSjrstefTiPackageManagerAnDADIDRUNTIMECoreLibrariesTelephonyManagerResourceManagerLocationManagerNatificaocfiManagerLINUXKERNELDisplayDriverFfashMemoryDriverBinder(IPC)DriverSurfaceManagerOpenGL|ESKieyp
4、adDriverMcdkiFrarneworkFreeiypeCameraDriverWiFiDriverSQLiteWfeMCiiAudioDriversPowerManagcfinent1:应用应用是一个个独立的程序,如浏览器、计算器、游戏等。应用使用Java开发,基于AndroidSDK。2:应用框架是一些基础组件,供上层应用所调用,可以在多个应用之间共享的功能。包括通知、视图、资源管理等。3:本地库(native)主要由C/C+库组成。4:Dalvik虚拟机与核心库Android应用使用Java语言开发,但并非运行于Java虚拟机之上,而是对.java文件进行反编译-重编译而成dex文
5、件,运行在Dalvik虚拟机上。Android核心库实现了大部分Java5SE的库,但不包括Swing等不使用于Android的库,另外还添加了一些专用于Android的库。5:Linux内核Android使用标准Linux内核2.6.32(2.2平台),再加上一些Android专用驱动。各种硬件驱动在此定义。4开发应用开发也称为AndroidSDK开发。开发环境Windows/Mac/Linux皆可。知识准备应用开发使用Java语言。Java语言是参考C+而制定的,学习Java语言之前,若曾进行过C+开发,应再温习一遍C+的语法、类、类继承、模板等,有利于快速掌握Java中的相似部分,且不容
6、易混淆两者的区别。若没有C+基础,可直接学习Java语言及JavaSE库。学习Java语言时,可略过Swing界面学习,因为Android使用另一套UI库。环境搭建(1) Eclipse使用Eclipse3.5.2。3.6目前与ADT不兼容,不能使用。需下载包含eclipsejdt的版本,推荐:/downloads/packages/eclipse-ide-java-developers/galileosr2安装:Eclipse解压后可以直接使用。(2) JDK版本5或6都可。下载地址下载版文档在线文档(3) androidsdka) 解压到一个目录下
7、,例如C:ProgramFilesandroid-sdk-windows;b) 在环境变量PATH中添力口tools目录,例如C:ProgramFilesandroid-sdk-windowstools;运行目录下的sdksetup.exe(仅限windows可用)添加组件,下载2.2版本。若连接失败,需选中Settings中的Forcehttps:/.sourcestobefetchedusinghttp:/.;.注:应用开发应基于想支持的最低版本开发,然后在所有后续版本中测试。(4) Apacheant(可选)ApacheAnt是将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具。
8、Linux和Mac需要安装1.6.5以上版本,Windows需要1.7或以上。最新版本为1.8.1。由于eclipse自带1.7.1,可跳过此步骤。/bindownload.cgi安装:a)解压,如C:ProgramFilesapache-ant-1.8.1b)新增一个环境变量ANT_HOME,值为C:ProgramFilesapache-ant-1.8.1c)环境变量PATH中添加ANT_HOME%bin(5) ADT此为Android的Eclipse插件下载、安装:a)在Eclipse菜单中选择Help-InstallNewSoftwareb)点Ad
9、d,随便取名,如AndroidPlugin,地址填https:/dl-若连接失败,则改为http:/dl-c)选才DDeveloperTools,按提示进行安装d)安装完成后重启Eclipsee)菜单中选择Window-Preferencesf)选才¥Android页,首次打开会弹出是否搜集使用信息的提示框,这里有点bug,需要关闭Preferences窗口才能点击该提示框g)设置Android页中的SDKLocation,填入AndroidSDK所在路径,如C:ProgramFilesandroid-sdk-windows(6) NDK(可选)可在应用中调用C/C+本地库注意:使用
10、NDK调用本地库有性能损耗,不推荐系统开发也称AndroidSource开发。目前只能在Linux下开发。进行系统开发的目的:在自有硬件系统上运行Android,需要修改硬件驱动、硬件适配层添加或修改功能知识准备根据开发的模块,需要掌握C、C+、Java之一或多者。开发和移植内核驱动使用C语言;本地库使用C和C+语言;本地库的JNI封装用到C+和Java;应用框架开发则完全基于Java。环境搭建(32位)操作系统建议使用Ubuntu10.4或10.10。如果是在虚拟机中使用,需要分配1.5GB的内存和10GB以上的硬盘空间。以下以Ubuntu32位10.4及froyo分支为例:(1)安装必备工
11、具:$sudoapt-getinstallgit-coregnupgflexbisongperflibsdl-devlibesd0-devlibwxgtk2.6-devbuild-essentialzipcurllibncurses5-devzlib1g-dev可选工具:(用于查找内存泄漏、栈崩溃、数组越界等)$sudoapt-getinstallvalgrind(2)安装repoa)新建一个目录作为安装目标,如/bin,表示个人目录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(必疝口到系统变量,加到用户变量Eclipse不买账)a)$cd/etc$sudochmoda+wprofileb)用gedit编辑profile,末尾加上(<username用换为你的用户名):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)注销后重登录以生效一(5)下载Androidsourcea)建立一个目录,如androidsourceb)进入该目录$repoinit-ugit://platform/manifest.git-bfroyo配置过程中需要输入名字、邮箱获取最新源码$reposync总共2.1GB,大约要花半天时间若要获取其他版本,参见Using
14、RepoandGit(6)验证Taga)导入校验密钥$gpg-import将以下内容粘帖到命令行中-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结束c)验证标签(若有需要)$gittag-vtagname(7)编译命令行进入source目录,运行:make首次编译约需2小时多,完成后目录
20、大小5.8GB(8)Eclipse注意:Eclipse仅是用来编辑源码、验证编译,要生成真正可执行的输出,只能通过命令行make编译。a)下载:参见前文b)安装,解压即可c) 命令行make编译整个Android源码d) 命令行进入androidsource目录,输入以下:$cpdevelopment/ide/eclipse/.classpath.$chmodu+w.classpathe)调整Java虚拟机heap大小,修改eclipse.ini文件,将-Xms40m-Xmx256m修改为-Xms128m-Xmx512mf)运行Eclipse,菜单中选择File-New-JavaProject
21、,输入项目名后,选择Createprojectfromexistingsource选取androidsouce根目录,等待Eclipse解析完成即可。环境搭建(64位)注:目前master的froyo源码要求在64位操作系统及Java6下编译。如果是在虚拟机中使用,需要分配1.5GB的内存和10GB以上的硬盘空间。以下以Ubuntu64位10.10及master源码为例:(1)安装必备工具:$sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essentialzipcurlzlib1g-devgcc-multilibg+-multilibli
22、bc6-dev-i386lib32ncurses5-devia32-libsx11proto-core-devlibx11-devlib32readline5-devlib32z-dev配置X11库$sudoln-s/usr/lib32/libX11.so.6/usr/lib32/libX11.so(2)安装repoa)新建一个目录作为安装目标,如/bin,表示个人目录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(必须加到系统变量,加到用户变量Eclipse不买账)$cd/etc$sudochmoda+wprofilef)用gedit编辑profile,末尾加上(<username用换为你的用户名):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)注销后重登录以生效一(4)下载Androidsourcea)建立一个目录,如androidsourceb)进入该目录$repoinit-ugit:/platform/manifest.git不带参数-b为取master源码配置过程中需要输入名字、邮箱c)获取最新源码$reposync总共2.1GB,大约要花半天时间若要获取其他版本,参见UsingRepoandGit(5)验证Taga)导入校验密钥$gpg-imp
25、ort将以下内容粘帖到命令行中-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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年弱电工程质量保证与售后服务合同2篇
- 2024年国内草捆买卖商务协议细则版B版
- 保密协议下的2024年度房产交易合同范本3篇
- 2024年企业股东股权买卖与转让具体合同一
- 2024年合伙人虚拟股份分配合同版B版
- 2024年企业级废料采购销售协议模板版
- 2024年个人贷款协议:细化责任与义务样本版B版
- 二零二四年度某地垃圾处理与资源化合同2篇
- 2024商业用地使用权租赁合同
- 基于云计算的2024年度沙石运输及供应链管理承包合同2篇
- 露天矿山安全培训课件经典
- 企业资产管理培训
- 公文写作课件教学课件
- 2024年巴西医疗健康产业发展趋势
- 自然辩证法学习通超星期末考试答案章节答案2024年
- 2024年6月浙江省高考地理试卷真题(含答案逐题解析)
- 中考语文专项必刷题之名著阅读专题(天津版)
- 2024版合伙经营运输车辆合同范本
- 热点主题作文写作指导:多一些尊重理解少一些偏见误解(审题指导与例文)
- +Unit+2+We're+family+Section+A+2a+-+2e+说课稿 人教版(2024)七年级英语上册++
- 防性侵安全教育课件
评论
0/150
提交评论