第8章 Android SDK与源码下载

如果你是新下载的SDK,请阅读一下步骤了解如何设置SDK。如果你已经下载使用过SDK,那么你应该使用AVD Manager,来更新即可。

下面是构建Android SDK的一些步骤:

  1.准备一台开发的电脑并确认它的系统环境。

  2.从上面的表格中安装SDK启动包。

  3.安装用于Eclipse 的ADT插件(如果你使用Eclipse开发的话)。

  4.添加android平台的其他包到你的SDK。

5.阅览Android SDK中的内容。

然后还会教大家下载Android源码

8.1准备用来开发的电脑

在开始使用Android SDK之前,确认你的计算机满足系统的需求,并且注意你是否已经安装了JDK,这个是必须提前安装的。然后准备ADT插件,在这之前你应该先下好Eclipse。下载地址:http://www.eclipse.org/downloads/

以下内容描述了使用Android SDK开发Android应用程序的系统和软件要求。

1. 支持的操作系统

Windows XP (32位), Vista (32位或64位),或Windows7(32位或64位)

Mac OS X 10.5.8 或更高 (仅对于 x86 )

Linux (Ubuntu Linux,Lucid Lynx)

2. 支持的开发环境

Eclipse 3.6.2(Helios)或更高

注意:Eclipse 3.5(Galileo)不再支持最新版的ADT。

Eclipse JDT插件(大部分Eclipse IDE包含此插件,笔者建议下载J2EE版本的Eclipse或者单独下载此插件)

JDK 6 (仅有JRE是不够的)

Android Development Tools plugin (ADT)

8.2 下载SDK启动包

SDK启动包不是一个完整的开发环境:它包含核心的SDK工具,你可以用它下载剩余的SDK内容。

下载地址:http://developer.android.com/sdk/index.html。请记住请先装好JDK。

8.3 在Eclipse上安装ADT插件

Android在Eclipse IDE上提供一个插件叫Android Development Tools(ADT),这个工具非常好用,在Eclipse上安装它后会让你更容易的开发Android应用,它提供许多强大的功能,例如快速创建项目,图形化用户界面编辑,调试等。下面我们讲下ADT的安装和更新。

截至到笔者写这篇文章的时候最新的版本为 18.0.0(特别注意并不是ADT版本越高越好,请根据你的Eclipse和SDK Tool版本来下载响应的ADT,具体对应规则请查询一下链接:

http://developer.android.com/sdk/eclipse-adt.html

1. 下载ADT 插件

(1)打开Eclipse, 选择Help > Install New Software...

(2)在右上角点击Add。

(3)在Add Repository 对话框中的Name处输入"ADT Plugin" 然后在Location处复制以下URL:

https://dl-ssl.google.com/android/eclipse/

(4)点击OK。

注意: 如果你https获取不到URL,可以尝试使用http(有时候由于某些安全原因)

(5)在Available Software 对话框,选择Developer Tools旁边的复选框,并点击Next。

(6)在下一个窗口, 你将看见一个tools列表,点击 Next.

(7)阅读并接受许可协议,然后单击Finish。

注意: 如果你得到一个安全警告说不能确定的真实性或有效性的软件,请无视它,继续单击OK。

(8)当安装完成后,重新启动Eclipse。

2. 配置ADT 插件

当你成功下载完ADT后,我们需要将ADT指向Android SDK目录:

(1)选择 Window > Preferences...

(2)选择左边的Android选项卡(请注意只有下完ADT后 这里才会出现android)。这里您可能会看到一个对话框,询问你是否想向Google发送使用统计信息。如果是这样,让你选择,并点击Proceed。你不能继续此过程,那就继续点击Proceed。

(3)点击 Browse... 找到你本地SDK的目录。

(4)点击Apply, 然后OK.

3. 更新ADT 插件

有时候我们可能需要更新ADT插件

选择Help > Check for Updates.

如果没有可用的更新,那是最好的

如果有可用的更新,选择Android DDMS, Android Development Tools和Android Hierarchy Viewer, 然后点击 Next。在Update Details 对话框, 点击Next。阅读并接受许可协议,然后单击完成。这将下载并安装最新版本的Android DDMS的Android开发工具。重启Eclipse。

请注意:当有新的ADT插件发布时,请慎重的更新,因为可能会有由于Eclipse版本问题或Android SDK Tools问题导致一些让你头疼的问题。如不是非常必要请尽量不要更新

8.4 添加平台和其他软件包

既然在8.2中我们下载的是启动包,这里我们就需要为其填充具体的内容了,我们需要打开我们之前下的启动包,里面有个Android SDK Manager.exe。打开它就根据自己的情况选择响应的软件包下载了。Android SDK采取了模块化的结构,我们可以根据需要下载响应的软件包,例如如果我们只针对2.0以上的Android系统版本,那么1.5和1.6的SDK我们就无需下载了。

另外如果你不需要开发google map的话,也不需要下载google map模块,这样有针对性的下载会让你很快就可以开发了,并且以后有需要可以动态下载更新。你可以根据下面的方法(任选其一)来启动 Android SDK Manager:

在Eclipse, 选择Window > Android SDK Manager.

在Windows中, 在android SDK的根目录双击SDK Manager.exe

在Mac 或 Linux,打开一个terminal并在Android SDK中导航到tools/目录,然后执行"android":

显示效果如图8-1所示:

图8-1 打开Android SDK Manager后的界面,我们可以根据实际情况选择需要安装的内容

8.4.1可用的软件包

1. SDK Tools

包含调试和测试您的应用程序和其他实用工具的工具。你可以在<sdk>/tools/访问这些工具。

2. SDK Platform-tools

包含用于开发和调试你的应用程序的工具并依赖于平台的。这些工具支持Android平台的最新功能,通常只有当一个新的平台可用的更新。在<sdk>/platform-tools/目录中,您可以访问这些工具。

3. Android platforms

可用的SDK平台,包括每一个android系统版本。包括android库,系统镜像,例子代码,模拟器皮肤。

4. USB Driver for Windows (Windows only)

包含驱动程序文件,可以安装在您的Windows电脑,让你在实际设备上可以运行和调试您的应用程序。如果你需要在实际的android设备上调试你的程序,那么你就需要这个驱动程序,一般来说像目前国内的豌豆荚,91助手等都有这种驱动,你连上手机就会自动提示安装驱动了。如果您在Mac OS X或Linux的开发,就不需要驱动调试了

5. Samples

包含示例代码和应用程序为每个Android开发平台。如果你是刚开始Android开发,还是建议下载这些例子用于学习。

6. Documentation

包含最新的android文档

8.5 阅览Android SDK中的内容

一旦你下载完SDK后,建议读者大致的看看SDK中的目录,看看里面有些什么。下面介绍了SDK目录中的内容,如表格8-1所示:

名字

描述

add-ons/

包含SDK开发环境的附件,让我们开发在一些设备上可用的扩展库

docs/

包含一套HTML格式的完整文档, 包括开发指南, API 参考, 和其他信息

platform-tools/

包含依赖于平台的开发工具。该平台的工具,包括 Android Debug Bridge (adb)以及其他工具,通常你不会直接使用它们 。请注意它和tools/是分开的

platforms/

包含一套android平台版本,你可以根据每一个单独的系统版本来开发应用程序

samples/

示例代码

tools/

包含了独立于平台开发和分析工具。如模拟器 ,Android SDK Manager,  AVD Manager, ddms, hierarchyviewer 等

SDK Readme.txt

文件解释如何执行初始设置您的SDK,

SDK Manager.exe

仅适用于Windows SDK。一个快捷方式,推出了Android SDK的管理工具,您可以使用添加你的SDK包。

表格8-1 Android SDK文件目录的描述

8.6 SDK源码下载与查阅

首先我们需要了解的是什么是SDK源码,上面我们把SDK都下载好了。现在我们找到存放源码的文件夹,打开里面的platforms目录,里面有android-7,android-3,android-4等等这样的文件夹。现在我们随便打开其中的一个文件夹,这时候你会发现有一个android.jar的文件,熟悉java的朋友都知道这种jar包形式都是封装好的库文件,我们一般只能使用它对外的接口,而不知道他里面具体实现是什么样的。其实anroid.jar包就是许多类编写而成的,这些最原始的类就是俗称的源码。google对外提供Android的源码的下载。

8.6.1下载源码

首先要建立在Android源文件,需要使用Linux或Mac OS。官方目前不支持Windows下载。源码大约有6GB的大小,单个build解压后有25GB左右,全部build解压后有90GB,请根据实际

情况腾出硬盘空间。关于更多Linux和Mac OS初始化环境的信息,请参考http://source.android.com/source/initializing.html。

我们还是主要讲一下Windows下如何下载android SDK源码:

1. 首先我们需要去http://code.google.com/p/msysgit/downloads/list下载git软件

2. 安装完后,找一个盘符新建一个文件用来存放源码,然后鼠标右键选择Git Bash。如图8-2所示:

图8-2 在一个文件夹下右键选择git bash后的截图

3. 输入以下地址git clone https://android.googlesource.com/platform/frameworks/base。如图8-3所示:

图8-3 正在下载源码的截图

由于目前android对源码的开发程度好像没有以前那么高了,官网是推荐在Linux或Mac OS使用Repo来下载源码。由此我们可以看出android对源码开发采取越来越收紧的态度。但Windows下使用者依旧很多,所以这里说的是windows中下载源码的方法。

8.6.1关联Ecplise

当我们在Eclipse下按住Ctrl+鼠标左键选择android.app.Activity类时会出现如下界面,如图8-4所示:

图8-4 在Eclpise中没有关联源码的情况下鼠标链接操作Activity类的截图

然后我们点击图8-4中被框住的按钮(change attached source…)。然后会出现如图8-5的效果:

图8-5 在Eclpise中点击change attached source…后的截图

接着选择右边的“External Folder...”按钮,在电脑中选中我们存放源码的文件夹D:/android4.0

点击OK后。当我们再Ctrl+鼠标左键选择android.app.Activity类时就能看到源码了,如图8-6所示

这样当我们以后想查看源码时,就方便多了。

图8-6 在Eclpise中关联源码的情况下鼠标链接操作Activity类的截图

8.7 本章小结

本章主要讲述了如何下载SDK与源码,特别需要说明的是:以后再实际开发中,我们可能会经常查阅源码来解决一些棘手的问题。因为在实际Android工作开发中,笔者遇到过几次的问题,在查看源码后理解了内部的一些实现,然后一些问题就迎刃而解了!注:由于本人写此文章的时间已经久远,目前可通过SDK Manager直接下载源码。

本文来自jy02432443,QQ78117253。转载请保留出处,并保留追究法律责任的权利

第一部分:开发前的准备-第八章 Android SDK与源码下载的更多相关文章

  1. openlayers5-webpack 入门开发系列结合 turf.js 实现等值线(附源码下载)

    前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载 ...

  2. openlayers4 入门开发系列之地图模态层篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  3. openlayers4 入门开发系列之地图标绘篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  4. openlayers4 入门开发系列之地图属性查询篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  5. openlayers4 入门开发系列之地图空间查询篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  6. arcgis api 3.x for js 入门开发系列二十二地图模态层(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  7. arcgis api 3.x for js 入门开发系列十八风向流动图(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  8. arcgis api 3.x for js 入门开发系列十二地图打印GP服务(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  9. arcgis api 3.x for js 入门开发系列六地图分屏对比(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

随机推荐

  1. 论maven release的必要性

    大多数java开发的小伙伴都用过maven来对包进行管理.在自己写项目的过程中,对自己的项目也会进行groupdId,artifactId,version的配置.下面我们来对着3个配置进行简单说明. ...

  2. 【Java并发核心六】CompletionService

    CompletionService 接口的功能是以异步的方式一边生产新的任务,一边处理已完成任务的结果,这样就可以将执行任务与处理任务分离开. CompletionService 仅有一个实现类 Ex ...

  3. update date and keep time

    select TO_CHAR((date '2010-01-02' + (sysdate-trunc(sysdate))),'YYYY-MM-DD HH:mi:ss') from dual;

  4. PLSQL Developer

    1 intall oracle11gex start OracleXEClrAgent start  OracleXETNSListener 2 install C:\Dev Tool\instant ...

  5. 模拟页面获取的php数据(四)

    <?php $tqzf = [ "aData" => [//通勤方式 "trafficType" => [ 0 => [ "t ...

  6. 项目冲刺 Sixth

    Sixth Sprint 1.各个成员今日完成的任务 蔡振翼:编写博客 谢孟轩:完善了编辑界面,实现续约功能 林凯:初步实现注册功能 肖志豪:帮助组员 吴文清:完善管理员图书录入功能以及图书录入的界面 ...

  7. 洛谷P2242 公路维修问题

    To 洛谷.2242 公路维修问题 题目描述 由于长期没有得到维修,A国的高速公路上出现了N个坑.为了尽快填补好这N个坑,A国决定对M处地段采取交通管制.为了求解方便,假设A国的高速公路只有一条,而且 ...

  8. socket 远程命令

    # -*- coding: utf-8 -*- # 斌彬电脑 from socket import * import subprocess server = socket(AF_INET, SOCK_ ...

  9. [POI2011]Rotacje na drzewie (2)/[BZOJ3702]二叉树

    [POI2011]Rotacje na drzewie (2) 题目大意: 一棵有\(n\)个叶子结点的二叉树,每个叶子结点有一个权值,恰好是\(1\sim n\)的一个排列,你可以任意交换每一对子结 ...

  10. 多线程里面this.getName()和currentThread.getName()有什么区别

    public class hello extends Thread { public hello(){ System.out.println("Thread.currentThread(). ...