Linux系统下的Android开发环境搭建Word文档格式.docx
《Linux系统下的Android开发环境搭建Word文档格式.docx》由会员分享,可在线阅读,更多相关《Linux系统下的Android开发环境搭建Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
●3.0代号Gingerbread,计划中的版本,全新的UI、游戏性能,可能支持视频聊天;
●3.5代号Honeycomb,计划中的版本,有最低硬件要求,用于平板电脑。
版本代号即提取源码时使用的分支名。
3系统结构
Android结构如图:
2
1
5
4
3
●1:
应用
应用是一个个独立的程序,如浏览器、计算器、游戏等。
应用使用Java开发,基于AndroidSDK。
●2:
应用框架
是一些基础组件,供上层应用所调用,可以在多个应用之间共享的功能。
包括通知、视图、资源管理等。
●3:
本地库(native)
主要由C/C++库组成。
●4:
Dalvik虚拟机与核心库
Android应用使用Java语言开发,但并非运行于Java虚拟机之上,而是对.java文件进行反编译-重编译而成dex文件,运行在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中的相似部分,且不容易混淆两者的区别。
若没有C++基础,可直接学习Java语言及JavaSE库。
学习Java语言时,可略过Swing界面学习,因为Android使用另一套UI库。
环境搭建
(1)Eclipse
使用Eclipse3.5.2。
3.6目前与ADT不兼容,不能使用。
需下载包含eclipsejdt的版本,推荐:
http:
//www.eclipse.org/downloads/packages/eclipse-ide-java-developers/galileosr2
安装:
Eclipse解压后可以直接使用。
(2)JDK
版本5或6都可。
下载地址
下载版文档
在线文档
(3)androidsdk
a)解压到一个目录下,例如C:
\ProgramFiles\android-sdk-windows;
b)在环境变量PATH中添加tools目录,例如C:
\ProgramFiles\android-sdk-windows\tools;
运行目录下的sdksetup.exe(仅限windows可用)添加组件,下载2.2版本。
若连接失败,需选中Settings中的Forcehttps:
//...sourcestobefetchedusinghttp:
//...;
注:
应用开发应基于想支持的最低版本开发,然后在所有后续版本中测试。
(4)Apacheant(可选)
ApacheAnt是将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具。
Linux和Mac需要安装1.6.5以上版本,Windows需要1.7或以上。
最新版本为1.8.1。
由于eclipse自带1.7.1,可跳过此步骤。
//ant.apache.org/bindownload.cgi
a)解压,如C:
\ProgramFiles\apache-ant-1.8.1
b)新增一个环境变量ANT_HOME,值为C:
c)环境变量PATH中添加%ANT_HOME%\bin
(5)ADT
此为Android的Eclipse插件
下载、安装:
a)在Eclipse菜单中选择Help–InstallNewSoftware
b)点Add,随便取名,如AndroidPlugin,地址填
https:
//dl-
若连接失败,则改为
c)选择DeveloperTools,按提示进行安装
d)安装完成后重启Eclipse
e)菜单中选择Window–Preferences
f)选择Android页,首次打开会弹出是否搜集使用信息的提示框,这里有点bug,需要关闭Preferences窗口才能点击该提示框
g)设置Android页中的SDKLocation,填入AndroidSDK所在路径,如C:
\ProgramFiles\android-sdk-windows
(6)NDK(可选)
可在应用中调用C/C++本地库
注意:
使用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)安装必备工具:
$sudoapt-getinstallgit-coregnupgflexbisongperflibsdl-devlibesd0-devlibwxgtk2.6-devbuild-essentialzipcurllibncurses5-devzlib1g-dev
可选工具:
(用于查找内存泄漏、栈崩溃、数组越界等)
$sudoapt-getinstallvalgrind
(2)安装repo
a)新建一个目录作为安装目标,如~/bin,~表示个人目录
b)下载
$curlhttp:
//android.git.kernel.org/repo>
~/bin/repo
c)$chmoda+x~/bin/repo
(3)JDK5
a)下载
b)放到要安装的目录下,例如~/bin
c)$chmod+xjdk-1_5_0_22-linux-i586.bin
d)安装:
$./jdk-1_5_0_22-linux-i586.bin
(4)配置PATH(必须加到系统变量,加到用户变量Eclipse不买账)
a)$cd/etc
$sudochmoda+wprofile
b)用gedit编辑profile,末尾加上(<
username>
替换为你的用户名):
exportJAVA_HOME="
/home/<
/bin/jdk1.5.0_22"
exportCLASSPATH="
.:
$JAVA_HOME/lib/dt.jar:
$JAVA_HOME/lib/tools.jar"
exportPATH="
$PATH:
/bin:
$JAVA_HOME/bin"
c)注销后重登录以生效
(5)下载Androidsource
a)建立一个目录,如androidsource
b)进入该目录
$repoinit-ugit:
//android.git.kernel.org/platform/manifest.git-bfroyo
配置过程中需要输入名字、邮箱获取最新源码
$reposync
总共2.1GB,大约要花半天时间
若要获取其他版本,参见UsingRepoandGit
(6)验证Tag
a)导入校验密钥
$gpg–import
将以下内容粘帖到命令行中
-----BEGINPGPPUBLICKEYBLOCK-----
Version:
GnuPGv1.4.2.2(GNU/Linux)
mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----ENDPGPPUBLICKEYBLOCK-----
b)按ctrl+D结束
c)验证标签(若有需要)
$gittag-vtagname
(7)编译
命令行进入source目录,运行:
make
首次编译约需2小时多,完成后目录大小5.8GB
(8)Eclipse
Eclipse仅是用来编辑源码、验证编译,要生成真正可执行的输出,只能通过命令行make编译。
a)下载:
参见前文
b)安装,解压即可
c)命令行make编译整个Android源码
d)命令行进入androidsource目录,输入以下:
$cpdevelopment/ide/eclipse/.classpath.
$chmodu+w.classpath
e)调整Java虚拟机heap大小,修改eclipse.ini文件,将
-Xms40m
-Xmx256m
修改为
-Xms128m
-Xmx512m
f)运行Eclipse,菜单中选择File-New-JavaProject,输入项目名后,选择Createprojectfromexistingsource,选取androidsouce根目录,等待Eclipse解析完成即可。
环境搭建(64位)
目前master的froyo源码要求在64位操作系统及Java6下编译。
以下以Ubuntu64位10.10及master源码为例:
$sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essentialzipcurlzlib1g-devgcc-multilibg++-multiliblibc6-dev-i386lib32ncurses5-devia32-libsx11proto-core-devlibx11-devlib32readline5-devlib32z-dev
配置X11库
$sudoln-s/usr/lib32/libX11.so.6/usr/lib32/libX11.so
(3)JDK6
c)$chmod+xjdk-6u22-linux-i586.bin
$./jdk-6u22-linux-i586.bin
e)配置PATH(必须加到系统变量,加到用户变量Eclipse不买账)$cd/etc
f)用gedit编辑profile,末尾加上(<
/bin/jdk1.6.0_22"
g)注销后重登录以生效
(4)下载Androidsource
//android.git.kernel.org/platform/manifest.git
不带参数-b为取master源码
配置过程中需要输入名字、邮箱
c)获取最新源码
(5)验证Tag
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phbN8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
(6)编译
(7)Eclipse
c)命令行make编译整个Android
$chmod