本文译自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源码的文章进行下载。


构建概述

目录

  1. 1获取源代码
    1. 1.1几个分支
    2. 1.2检出一个特定的发布分支
  2. 2进行构建
    1. 2.1构建 Android Studio
    2. 2.2构建 Android Gradle 插件
    3. 2.3构建 Linux 和 MacOS 的 SDK
    4. 2.4构建基于 Eclipse 的tools。
    5. 2.5另外的 Tools

获取源代码

几个分支

目前,我们有以下几个可能的分支:
开发分支 发布分支 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 下。
  • 待办:添加模拟器的说明

更多相关文章

  1. android环境搭建
  2. 在IDEA/Android(安卓)Studio中调试Gradle Plugin插件
  3. Android源码仓库和Repo工具使用
  4. Android动态部署五:如何从插件apk中启动Service
  5. Android换肤机制
  6. Android的SDK与ADT不匹配问题
  7. android studio 2.1 preview4 之 gradle插件问题
  8. 使用eclipse打开android_sdk自带的例子
  9. 【Android热修复与插件化 三】ClassLoader详解

随机推荐

  1. 我的Android之旅——学习、项目、心态
  2. (译文)如何成为一个更好的Android开发者:30
  3. Android初体验之星座及生肖查询的思路
  4. Android表达式计算器
  5. Android中图片实现按钮点击效果
  6. 在Android中调用WebService
  7. 说说android下TV版本UC浏览器模拟鼠标的
  8. android:布局参数,控件属性及各种xml的作
  9. Android学习之Android广播机制
  10. Android8.1以及5.1版本识别sdcard和U盘并