本文译自Android官方技术文档《Build
Overview》,原文地址:http://tools.android.com/build。

因为《Android Lint Checks》这篇太长了,没译完,所以这次就发一下《Build Overview》的翻译好了。

这一篇是对Android 的开发工具进行构建的概述,比如Android Studio,Android Gradle 插件,SDK和ADT等。

翻译不易,转载请注明CSDN博客上的出处:

http://blog.csdn.net/maosidiaoxian/article/details/44451007

翻译工作耗时费神,如果你觉得本文翻译得还OK,文末有个“顶”字,你懂的,希望多多支持。如有错讹,敬请指正。谢谢。

注:因GFW的关系,无法下载代码的,可以参考本博客中关于下载Android源码的文章进行下载。

构建概述

获取源代码

几个分支

目前,我们有以下几个可能的分支:

 开发分支  发布分支  IntelliJ  备注
 studio-1.0-dev  studio-1.0-release  idea13-dev  这是个用于1.0的分支 已关闭
 studio-1.1-dev  studio-1.1-release  idea13-1.1-dev  这是个用于1.1的分支 已关闭
 studio-1.2-dev  studio-1.2-release  idea14-1.2-dev  这是个用于1.2的分支 现在只在修复BUG
 studio-1.3-dev  studio-1.3-release  idea14-1.3-dev  这是个用于 1.3的分支
 studio-master-dev  studio-master-dev  idea14-dev  这个分支用于提交到1.3

当前的开发分支是studio-1.2-dev。

我们会进行自动合并,顺序如下: studio-1.0-dev -> studio-1.1-dev -> studio-1.2-dev -> studio-1.3-dev -> studio-master-dev
ub-tools-idea133和ub-tools-master分支已经停用了。我们也没有使用master分支。

检出代码
首先,你需要为你的平台安装一些先决条件。这意味着你需要 git,C 编译器,等等。这里有相当多的步骤,并且这一切都依赖于平台,因此请转到正式的构建介绍,那里我们有详细的说明: http://source.android.com/source/initializing.html

有些要求是不需要的(比如区分大小写的文件系统),除非您也计划构建这个平台。您还需要 XCode 用于构建模拟器。

一旦你配置好一切后,按照这下面的说明下载“repo”工具: http://source.android.com/source/downloading.html

然后你就可以通过在shell中使用下面的命令来检出源代码了:
$ mkdir studio-1.3-dev

$ cd studio-1.3-dev 

$ repo init -u https://android.googlesource.com/platform/manifest -b studio-1.3-dev

$ repo sync

(显然,你可以创建一个你想要的顶级目录;我们中那些检出多个分支的人,更愿意在分支后重命名这个目录。

在执行 repo init 命令期间,它会问你关于的姓名和电子邮件地址 ;如果您决定记录你的changesets,并上传以供审核,那它们将在以后用到。

检出一个特定的发布分支

我们正在开始标记发布版本。这意味着您可以使用标记(tag)来获得某个特定版本的源代码。我们当前正在使用下列标记:

 Gradle  gradle_x.y.z 
 Studio  studio_x.y.z 

你可以在这里看到所有可用的标记: https://android.googlesource.com/platform/manifest/+refs


例如,您可以使用下面的命令来检出 1.0.0 版本的Gradle 插件:

repo init -u https://android.googlesource.com/platform/manifest -b gradle_1.0.0

$ repo sync


进行构建

可以通过 studio-* branches 构建的 SDK 的部分,只是 IDE 的组件和 SDK Tools。由于不由的构建系统,每个组件的构建是不同的。

它们都不使用基于make 的平台构建系统

构建
Android Studio

从历史上看,构建 Android tools 也需要构建整个的 Android SDK,因为比如模拟器,就需要系统镜像(system image)。

然而,我们已经逐渐地把 tools 的源代码迁移到更加独立的安装程序中,您现在可以在没有完全检出Android 和 C 编译器的情况下,构建 Android Studio IDE。构建 Android 工作室的说明列于 构建 Android Studio页 ;本文档的其余部分记录了构建其他tools(Eclipse
插件、 模拟器等) 的过程

构建 Android Gradle 插件

相关说明请参见生成 Android Gradle 插件

构建 Linux 和 MacOS 的 SDK

这一部分仅生成 SDK Tools。请按照下列步骤操作:
$ mkdir -p out/dist

$ ./tools/buildSrc/servers/build_tools.sh `pwd`/out `pwd`/out/dist 1234

这将会为你当前的平台构建 SDK Tools。构建结果位于于 out/sdk/

由以下内容组成
  • 模拟器及相关联的可执行文件和类库
  • 基于 Java 的独立tools
  • 监视器

只用基于Java的tools,你可以在tools/base 中打开IJ 项目。

如果要只构建或测试 java tools:

$ cd tools/

$ ./gradlew assemble // builds only

$ ./gradlew check // runs tests as well.


构建 Windows SDK
这些操作指南目前已经过时了。新的指南即将推出。


完整的 Windows SDK 构建只在Linux上才支持——大部分的框架都不是设计于在 Windows 上构建,所以从技术上说,Windows SDK 是在被替换了一些二进制文件的 Linux SDK 上面构建的。.



安装:

$ sudo apt-get install mingw32 tofrodos

mingw32 是交叉编译器,tofrodos 则添加了一个 unix2dos 命令 



用于构建:

$ . build/envsetup.sh

$ lunch sdk-eng

$ make win_sdk

注意,这将会先构建出 Linux SDK,然后构建出 Windows SDK。构建结果位于 

out/host/windows/sdk/android-sdk_eng.username_windows /

构建基于 Eclipse 的Tools。

要设置用于构建的 Eclipse 环境,为Android 编辑和调试 Eclipse插件,请参阅“构建基于
Eclipse 的Tools
”文档。

另外的工具

下一步是基于你想要工作的项目准备安装:
  • Traceview, Hierarchy Viewer 和 DDMS 是所有要安装的,如下:

    • 核心逻辑分别位于 sdk/traceview、 sdk/hierarchyviewer2 和 sdk/ddms 下的 Java 项目。将这些项目导入 Eclipse。
    • 上述项目会生成jar文件,然后由它们相应的插件引用。traceview 插件、 hierarchyviewer 插件和 ddms 插件,都位于 sdk/eclipse/plugins 下。
  • 待办:添加模拟器的说明

Android官方技术文档翻译——开发工具的构建概述的更多相关文章

  1. Android官方技术文档翻译——Gradle 插件用户指南(7)

    本文译自Android官方技术文档<Gradle Plugin User Guide>,原文地址:http://tools.android.com/tech-docs/new-build- ...

  2. Android官方技术文档翻译——Gradle 插件用户指南(5)

    昨晚把第五章未译完的几句话攻克了.只是第六章没怎么译,明后天又是周末,假设周一前第六章翻译完的话,周一再发第六章. 本文译自Android官方技术文档<Gradle Plugin User Gu ...

  3. Android官方技术文档翻译——Gradle 插件用户指南(4)

    最近赶项目,白天基本没时间,只有晚上在家的时候才能看一看.昨天晚上只翻译完了第四章,今天就只发第四章吧. 本文译自Android官方技术文档<Gradle Plugin User Guide&g ...

  4. Android官方技术文档翻译——Gradle 插件用户指南(6)

    没想到翻译这篇<Gradle 插件用户指南>拖了差不多一个月,还跨年了.不过还好,在2号时终于一口气把剩下的给翻译完了(其实那天剩下的也就不到一章). 今天先发一下第六章,明天再发第七章. ...

  5. Android官方技术文档翻译——新构建系统概述

    本文译自Android官方技术文档<New Build System>,原文地址:http://tools.android.com/tech-docs/new-build-system. ...

  6. Android官方技术文档翻译——Gradle 插件用户指南(1-3)

    不知道是什么网络问题,上午一直发不了博客,其它页面基本正常,就是在写博客这里,每次打开都是响应超时.刚才用了VPN,顺便试了一下,竟然能够编辑.想是CDN之类的问题吧. 这次翻译的是Gradle 插件 ...

  7. Android官方技术文档翻译——清单合并

    本文译自Android官方技术文档<Manifest Merger>,原文地址:http://tools.android.com/tech-docs/new-build-system/us ...

  8. Android官方技术文档翻译——Ant 任务

    本文译自Android官方技术文档<Ant Tasks>,原文地址:http://tools.android.com/tech-docs/ant-tasks. 由于是抽着时间译的.所以这篇 ...

  9. Android官方技术文档翻译——IntelliJ 项目迁移

    本文译自Android官方技术文档<Migrating from IntelliJ Projects>,原文地址:http://tools.android.com/tech-docs/ne ...

随机推荐

  1. rbac 概念

    1 权限管理 1.1 什么是权限管理 分享牛原创,分享牛系列.基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户 ...

  2. 在做自动化测试之前你需要知道的,转自:http://www.cnblogs.com/fnng/p/3653793.html

    什么是自动化测? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多.一直想动笔写一篇文章分享自动化测试实践中的一些经验.终于决定花点时间来做这件事儿. 首先理清自动化测试的概念 ...

  3. 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题

    前段时间做一个项目,而项目中所有的请求都要用jquery 中的ajax请求或者post请求,但是开始处理一些简单操作还好,但是自己写了一些验证就出现问题了,比如表单提交的时候,要验证帐号的唯一性,所以 ...

  4. EBS业务学习之库存管理

    库存管理业务流程 企业结构 库存结构 库存结构定义 指定每个子库存的特性: •子库存的数量跟踪 •资产类子库存 •保留子库存 •净值子库存 •包含在有效承诺中Include in ATP •子库存级库 ...

  5. EBS业务学习之采购管理

    一.基础数据 w供应商档案 w采购员设置 w审批层次 w单据控制 w危险类代码 w检验代码 w自动来源 w供应商项目w目录册 二.业务流程 w请购单 w询价单 w报价单 w采购定单 w接收 w检验 w ...

  6. 通过JNDI从服务器容器中获取资源_Spring JNDI+Mysql+Tomcat

    通过JNDI从服务器容器中获取DataSource资源 (由容器管理,不要关闭它,容器自己会处理)上一篇我们使用的是dbcp,这里使用JNDI: 使用JNDI连接数据: 在Spring可以注释 < ...

  7. Android简易实战教程--第二十五话《网络图片查看器》

    访问网络已经有了很成熟的框架.这一篇只是介绍一下HttpURLConnection的简单用法,以及里面的"注意点".这一篇可以复习或者学习HttpURLConnection.han ...

  8. 第一行代码阅读笔记---AndroidMainfest.xml分析

    按照这本书的指引,我随作者一样创建了一个安卓应用,开始了安卓开发的启程. 找到AndroidMainfest.xml这个文件,打开后看到了我创建的Activity在这个文件里被成功注册,文件内容如下: ...

  9. Tomcat内核之Tomcat的类加载器

    跟其他主流的Java Web服务器一样,Tomcat也拥有不同的自定义类加载器,达到对各种资源库的控制.一般来说,Java Web服务器需要解决以下四个问题: ①   同一个Web服务器里,各个Web ...

  10. 18 UI美化状态集合的位图selector

    当我们某个控件 想在不同状态下显示不同的背景图的需求 如我们需要按钮在正常状态显示一种图 按下显示另一背景图 或者单选框被选中时是一种显示图片 没选中是另一种背景图 例子 按钮在不同状态显示不同的背景 ...