原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Using-sourceCompatibility-1.7

翻译:Android Studio 中文组(大锤译

鉴于Android Studio使用Gradle构建项目,在IDE的使用过程中可能会遇到很多令人头疼的问题。大锤也是第一次接触,为有个基本的认识,特找来Android官方手册,和大家一起学习学习。翻译不当之处,望指出。

为什么要用Gradle?

Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑

以下是为什么Android Studio选择Gradle的主要原因:

  • 使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)
  • 基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。
  • 支持已有的Maven或者Ivy仓库基础建设
  • 非常灵活,允许使用best practices,并不强制让你遵照它的原则来。
  • 其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。
  • 允许IDE集成,是很好的API工具


需要准备:

  1. Gradle 1.6 or 1.7
  2. SDK with Build Tools 17.0.0 (released 5/16/2013)

Basic Project

在Gradle项目的根目录下,有个叫build.gradle的文件,它描述了这个项目的整体构建基础。

build文件

最基本的java程序,它的build.gradle文件就一句话:

apply plugin: 'java'

最基本的Android项目,它的build.gradle如下:

 
buildscript {
    repositories {
          mavenCentral()
     }     dependencies {
          classpath 'com.android.tools.build:gradle:0.5.6'
     }
} apply plugin: 'android'
android {
       compileSdkVersion 17
}  

我们一步步来分析一下上面三部分的内容。

  • buildscript{...} 配置了驱动build的代码,它声明将在Maven中央仓库,取一个classpath dependency,也就是Android plugin for Gradle v0.5.6
  • apply plugin     指明了用到的plugin是android,就像前面java程序中,用的plugin是java一样
  • android{...}     中配置了所有android构建的参数,这里也就是Android DSL的入口点。

默认的,只有目标编译环境是必要的,也就是compileSdkVersion这个属性。这和以前在project.properties中的target属性类似。

值得注意的是,如果你在Android项目中写 apply plugin:java 而不是apply plugin:android的话,将会build失败。

最新文章

  1. 洛谷P1209 [USACO1.3]修理牛棚 Barn Repair
  2. UE4 自定义物理表面类型(Surface Type)
  3. Codeforces Perfect Pair (JAVA)
  4. 使用HTML5构建下一代的Web Form
  5. 学习c语言的第9天
  6. Linux内核源代码解析——TCP状态转移图以及其实现
  7. C语言中一些非常酷的技巧(cool tricks)
  8. http://blog.csdn.net/baimafujinji/article/details/10931621
  9. Codeforces Round #199 (Div. 2) C. Cupboard and Balloons
  10. Zookeeper —— 初识
  11. 再解炸弹人,dfs&bfs
  12. PowerDesigner表创建脚本双引号问题
  13. swift - 快速代码块 - 创建 tableview等一些控件 基本属性
  14. CharacterMotor_刚体角色驱动
  15. Access-Control-Allow-Origin与跨域
  16. Java内存模型以及Volatile、Synchronize关键字的疑问
  17. _PyUnicodeUCS4_AsDefaultEncodedString
  18. 排序算法(1) 快速排序 C++实现
  19. 使用 Start 屏幕查找 Windows 更新
  20. zend Studio10.6.2 下载

热门文章

  1. linux man
  2. Hibernate,JPA注解@DynamicInsert和@DynamicUpdate,Hibernate如何插入sysdate
  3. 完整学习git二 git 暂存区
  4. 20145227 《Java程序设计》第9周学习总结
  5. Poj(2195),最小费用流,SPFA
  6. Java中数组的特性
  7. 对torch的一点感想
  8. EasyUI 格式化DataGrid列
  9. linux(centos)下SVN服务器如何搭建
  10. 【Regular Expression】常用的正则表达式