本文译自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. log file sync 等侍值高的一般通用解决办法

    log file sync等待时间发生在redo log从log buffer写入到log file期间. 下面对log file sync做个详细的解释. 何时发生日志写入: 1.commit或者r ...

  2. activiti 动态配置 activiti 监听引擎启动和初始化(高级源码篇)

    1.1.1. 前言 用户故事:现在有这样一个需求,第一个需求:公司的开发环境,测试环境以及线上环境,我们使用的数据库是不一样的,我们必须能够任意的切换数据库进行测试和发布,对数据库连接字符串我们需要加 ...

  3. 19 主线程向子线程发送信息(handler)

    package com.fmy.handler; import android.app.Activity; import android.os.Bundle; import android.os.Ha ...

  4. Java基本语法-----java函数

    函数的概述 发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表现形式则称作函数. ...

  5. FFmpeg源代码简单分析:avformat_alloc_output_context2()

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

  6. 6.4、Android Studio的GPU Monitor

    Android Monitor包含GPU Monitor,它将可视化的显示渲染窗体的时间.GPU Monitor可以帮助你: 1. 迅速查看UI窗体生成 2. 辨别是否渲染管道超出使用线程时间 在GP ...

  7. ubuntu opengl 开发

    开发环境: eclipse,需要安装C++开发插件,在自带的源中查找安装C++开发工具包即可 下载安装gl库: sudo apt-get install libgl1-mesa-dev 下载安装glu ...

  8. 保证service存活

    Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStart ...

  9. Python与JavaWeb的第一次碰撞

    在Python中向服务器提交一个表单数据看起来是很容易的,但是这次经历着实让我记忆深刻,借此也为了警醒同样遇到了这样问题的你们. 要做什么? 使用Python的urllib2模块提交表单数据,并在服务 ...

  10. Sql Server服务远程过程调用失败

    由于开发系统,需要vs版本统一,于是经过了昨天一整天艰苦卓绝的斗争,小编终于成功的写在了13版本的vs,重新装上了12版本的vs,本来想着,12版本的vs搭建成功了,就赶快搭建框架,然后敲例子,可是天 ...