Linux系统下的Android开发环境搭建
《Linux系统下的Android开发环境搭建》由会员分享,可在线阅读,更多相关《Linux系统下的Android开发环境搭建(11页珍藏版)》请在装配图网上搜索。
1、Linux系统下的Android开发环境搭建1简介22版本23系统结构24开发44.1应用开发44.1.1知识准备44.1.2环境搭建44.2系统开发54.2.1知识准备64.2.2环境搭建(32位)64.2.3环境搭建(64位)84.2.4典型示例101 简介Android(读音ndrd)是Google主持开发的开源移动平台。整个平台包括操作系统、中间件、虚拟机、应用框架、应用。该平台最初是作为智能手机操作系统开发的,随着发展,通过移植和修改,也可用于平板电脑和其他手持设备。2 版本Android的版本周期约为6个月。已发布(截至2010年10月)的主要版本有1.0、1.1、1.5、1.6、
2、2.1、2.2。l 1.0、1.1、1.5(Cupcake)、1.6(Donut)已过时,新系统不应使用;l 2.1代号Eclair,是2.0和2.01的升级版,取代后两者,稳定版;l 2.2代号Froyo,为目前最新版,不断升级中。支持Flash,详见Android 2.2 Platform Highlights;l 3.0代号Gingerbread,计划中的版本,全新的UI、游戏性能,可能支持视频聊天;l 3.5代号Honeycomb,计划中的版本,有最低硬件要求,用于平板电脑。版本代号即提取源码时使用的分支名。3 系统结构Android结构如图:21543l 1:应用应用是一个个独立的程
3、序,如浏览器、计算器、游戏等。应用使用Java开发,基于Android SDK。l 2:应用框架是一些基础组件,供上层应用所调用,可以在多个应用之间共享的功能。包括通知、视图、资源管理等。l 3:本地库(native)主要由C/C+库组成。l 4:Dalvik虚拟机与核心库Android应用使用Java语言开发,但并非运行于Java虚拟机之上,而是对.java文件进行反编译-重编译而成dex文件,运行在Dalvik虚拟机上。Android核心库实现了大部分Java5 SE的库,但不包括Swing等不使用于Android的库,另外还添加了一些专用于Android的库。l 5:Linux内核And
4、roid使用标准Linux内核2.6.32(2.2平台),再加上一些Android专用驱动。各种硬件驱动在此定义。4 开发应用开发 也称为Android SDK开发。开发环境Windows/Mac/Linux皆可。知识准备应用开发使用Java语言。Java语言是参考C+而制定的,学习Java语言之前,若曾进行过C+开发,应再温习一遍C+的语法、类、类继承、模板等,有利于快速掌握Java中的相似部分,且不容易混淆两者的区别。若没有C+基础,可直接学习Java语言及Java SE库。学习Java语言时,可略过Swing界面学习,因为Android使用另一套UI库。环境搭建(1) Eclipse使用
5、Eclipse 3.5.2。3.6目前与ADT不兼容,不能使用。需下载包含eclipse jdt的版本,推荐:http:/www.eclipse.org/downloads/packages/eclipse-ide-java-developers/galileosr2安装:Eclipse解压后可以直接使用。(2) JDK版本5或6都可。下载地址下载版文档在线文档(3) android sdk安装:a) 解压到一个目录下,例如C:Program Filesandroid-sdk-windows;b) 在环境变量PATH中添加tools目录,例如C:Program Filesandroid-sdk
6、-windowstools;运行目录下的sdk setup.exe(仅限windows可用)添加组件,下载2.2版本。若连接失败,需选中Settings中的Force https:/. sources to be fetched using http:/.;注:应用开发应基于想支持的最低版本开发,然后在所有后续版本中测试。(4) Apache ant(可选)Apache Ant是将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具。Linux和Mac需要安装1.6.5以上版本,Windows 需要1.7或以上。最新版本为1.8.1。由于eclipse自带1.7.1,可跳过此步骤。http
7、:/ant.apache.org/bindownload.cgi安装:a) 解压,如C:Program Filesapache-ant-1.8.1b) 新增一个环境变量ANT_HOME,值为C:Program Filesapache-ant-1.8.1c) 环境变量PATH中添加%ANT_HOME%bin(5) ADT此为Android的Eclipse插件下载、安装:a) 在Eclipse菜单中选择Help Install New Softwareb) 点Add,随便取名,如Android Plugin,地址填https:/dl-若连接失败,则改为http:/dl-c) 选择Developer
8、 Tools,按提示进行安装d) 安装完成后重启Eclipsee) 菜单中选择Window Preferencesf) 选择Android页,首次打开会弹出是否搜集使用信息的提示框,这里有点bug,需要关闭Preferences窗口才能点击该提示框g) 设置Android页中的SDK Location,填入Android SDK所在路径,如C:Program Filesandroid-sdk-windows(6) NDK(可选)可在应用中调用C/C+本地库注意:使用NDK调用本地库有性能损耗,不推荐系统开发也称Android Source开发。目前只能在Linux下开发。进行系统开发的目的:l
9、 在自有硬件系统上运行Android,需要修改硬件驱动、硬件适配层添加或修改功能知识准备根据开发的模块,需要掌握C、C+、Java之一或多者。开发和移植内核驱动使用C语言;本地库使用C和C+语言;本地库的JNI封装用到C+和Java;应用框架开发则完全基于Java。环境搭建(32位)操作系统建议使用Ubuntu10.4或10.10。如果是在虚拟机中使用,需要分配1.5GB的内存和10GB以上的硬盘空间。以下以Ubuntu 32位 10.4及froyo分支为例:(1) 安装必备工具:$ sudo apt-get install git-core gnupg flex bison gperf li
10、bsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev可选工具:(用于查找内存泄漏、栈崩溃、数组越界等)$ sudo apt-get install valgrind(2) 安装repoa) 新建一个目录作为安装目标,如/bin,表示个人目录b) 下载$ curl http:/android.git.kernel.org/repo /bin/repoc) $ chmod a+x /bin/repo(3) JDK 5a) 下载b) 放到要安装的目录下,例如/binc) $ c
11、hmod +x jdk-1_5_0_22-linux-i586.bind) 安装:$ ./jdk-1_5_0_22-linux-i586.bin(4) 配置PATH(必须加到系统变量,加到用户变量Eclipse不买账)a) $ cd /etc$ sudo chmod a+w profileb) 用gedit编辑profile,末尾加上(替换为你的用户名):export JAVA_HOME=/home/bin/jdk1.5.0_22export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:
12、/home/bin:$JAVA_HOME/binc) 注销后重登录以生效(5) 下载Android sourcea) 建立一个目录,如androidsourceb) 进入该目录$ repo init -u git:/android.git.kernel.org/platform/manifest.git -b froyo配置过程中需要输入名字、邮箱获取最新源码$ repo sync总共2.1GB,大约要花半天时间若要获取其他版本,参见Using Repo and Git(6) 验证Taga) 导入校验密钥$ gpg import将以下内容粘帖到命令行中-BEGIN PGP PUBLIC KEY
13、 BLOCK-Version: GnuPG v1.4.2.2 (GNU/Linux)mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw78tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
14、 wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq /HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciE
15、TykZc4wrRCVGhlIEFuZHJv aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI 2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl QN4mWRhfzDOk/Rosd
16、b0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJ
17、PWsB/M pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99
18、faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=Wi5D -END PGP PUBLIC KEY BLOCK-b) 按ctrl+D结束c) 验证标签(若有需要)$ git tag -v tagname(7) 编译命令行进入source目录,运行:make首次编译约需2小时多,完成后目录大小5.8GB(8) Eclipse注意:Eclipse仅是用来
19、编辑源码、验证编译,要生成真正可执行的输出,只能通过命令行make编译。a) 下载:参见前文b) 安装,解压即可c) 命令行make编译整个Android源码d) 命令行进入androidsource目录,输入以下:$ cp development/ide/eclipse/.classpath .$ chmod u+w .classpathe) 调整Java虚拟机heap大小,修改eclipse.ini文件,将-Xms40m-Xmx256m修改为-Xms128m-Xmx512mf) 运行Eclipse,菜单中选择File - New - Java Project,输入项目名后,选择Create
20、 project from existing source,选取androidsouce根目录,等待Eclipse解析完成即可。环境搭建(64位)注:目前master的froyo源码要求在64位操作系统及Java 6下编译。如果是在虚拟机中使用,需要分配1.5GB的内存和10GB以上的硬盘空间。以下以Ubuntu 64位 10.10及master源码为例:(1) 安装必备工具:$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g+-mul
21、tilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev配置X11库$ sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so(2) 安装repoa) 新建一个目录作为安装目标,如/bin,表示个人目录b) 下载$ curl http:/android.git.kernel.org/repo /bin/repoc) $ chmod a+x /bin/repo(3) JDK 6a) 下载
22、b) 放到要安装的目录下,例如/binc) $ chmod +x jdk-6u22-linux-i586.bind) 安装:$ ./jdk-6u22-linux-i586.bine) 配置PATH(必须加到系统变量,加到用户变量Eclipse不买账)$ cd /etc$ sudo chmod a+w profilef) 用gedit编辑profile,末尾加上(替换为你的用户名):export JAVA_HOME=/home/bin/jdk1.6.0_22export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexpor
23、t PATH=$PATH:/home/bin:$JAVA_HOME/bing) 注销后重登录以生效(4) 下载Android sourcea) 建立一个目录,如androidsourceb) 进入该目录$ repo init -u git:/android.git.kernel.org/platform/manifest.git不带参数-b为取master源码配置过程中需要输入名字、邮箱c) 获取最新源码$ repo sync总共2.1GB,大约要花半天时间若要获取其他版本,参见Using Repo and Git(5) 验证Taga) 导入校验密钥$ gpg import将以下内容粘帖到命令
24、行中-BEGIN PGP PUBLIC KEY BLOCK-Version: GnuPG v1.4.2.2 (GNU/Linux)mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw78tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEo
25、ff0FeXsEaUA6U90sEoVks0Z wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq /HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9b/aF/ygcR8mh5hgUfpF
26、9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI 2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN3
27、6/vAl QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAm
28、HYX79EMKHDSThf/8AAwUIAJPWsB/M pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo G1S8fXgE0L
29、q3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=Wi5D -END PGP PUBLIC KEY BLOCK-b) 按ctrl+D结束c) 验证标签(若有需要)$ git tag -v tagname(6) 编译命令行进入source目录,运行:make首次编译约需2小时多,完成后目录大小5.8GB(7
30、) Eclipse注意:Eclipse仅是用来编辑源码、验证编译,要生成真正可执行的输出,只能通过命令行make编译。a) 下载:参见前文b) 安装,解压即可c) 命令行make编译整个Androidd) 命令行进入androidsource目录,输入以下:$ cp development/ide/eclipse/.classpath .$ chmod u+w .classpathe) 调整Java虚拟机heap大小,修改eclipse.ini文件,将-Xms40m-Xmx256m修改为-Xms128m-Xmx512mf) 运行Eclipse,菜单中选择File - New - Java Project,输入项目名后,选择Create project from existing source,选取androidsouce根目录,等待Eclipse解析完成即可。典型示例典型的功能块,包含各个层级的开发:(1) 在内核中添加硬件驱动。有些底层协议如蓝牙等也在内核中;(2) 本地库实现硬件适配层、功能、JNI封装;(3) 应用框架基于JNI接口,实现上层的功能和封装,在系统API中添加Java类接口;(4) 基于系统API开发面向用户的应用。如图:
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020【企业咨询】行业前景分析投资调研课件
- 2020、6《民法典》资深律师解读宣讲课件
- 2020《推广普通话主题班会》课件
- 1205史剑波《纪昌学射》教学ppt课件
- 1981-1990诺贝尔生理或医学奖课件
- 2020【CDMO】行业前景分析投资调研课件
- 2020-2021年A股投资策略报告课件
- 2020【自助售货机】行业前景分析投资调研课件
- 刘姥姥进大观园PPT部编版9上课件
- 2020-2021年创新说课大赛获奖作品:教师说课比赛:等差数列课件
- 婚姻家庭与继承法课件
- 2020-2021年85、95后宝妈人群洞察课件
- 青少年的同伴关系
- 2020-2021年创新说课大赛获奖作品:教师说课比赛:等差数列的前n项和课件
- 青少年用眼健康知识讲解