中易网

Android Studio为什么要用Gradle

答案:2  悬赏:30  
解决时间 2021-03-24 18:14
Android Studio为什么要用Gradle
最佳答案
鉴于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工具
需要准备:
Gradle 1.6 or 1.7
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失败。
全部回答
Gradle是升级版(evolved)的自动化构建工具。它可以自动构建,测试,发布,部署,同时使更多的软件包或其他类型诸如生成静态网站,文档等项目自动化。 Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑 以下是为什么Android Studio选择Gradle的主要原因: 使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL) 基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。 支持已有的Maven或者Ivy仓库基础建设 非常灵活,允许使用best practices,并不强制让你遵照它的原则来。 其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。 允许IDE集成,是很好的API工具。 ​
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何协调好考研和大学课程的关系?
我单身时买房子用公积金贷款,现在老婆的公积
主板Type2 - Board Vendor Name1 Type2 - Boa
京东下单到送货上门是不是超快的?
陕西商南农村低保政策如何规定?
亲们,谁知道现在聊城到范县的末班车几点
秋水是不就是冯唐
求帮助,lin谐音的英文名
要一些小说,什么都行,最重要要结局好的不虐
为什么我中午睡不着觉?一直都是这样不管有多
道教分哪些大的派别?
玻璃隔断西安那家好一点?
侨发茗茶在什么地方啊,我要过去处理事情
佳能2420l复印机打印复印时纸的前面出现黑色
飞鹤,优博,诺优能哪个奶粉好一点
推荐资讯
结婚的意义
山地车与死飞的区别
以每行最多10个数字的方式打印1000~9999之间
求助,Mate7屏幕半边显示出问题
成都最大的家具批发城是哪个?
爱莲花卉地址在什么地方,我要处理点事
身高159体重65kg.上胸围103下胸围81腰围81,
什么是混合型证券投资基金?
我要上个班,3班两倒,挺辛苦,身体上需要注
为什么迅雷幸福树安装不了,迅雷是最新版却安
关于<<红雪莲>>讲的是高樱的经历吗
有限空间危险作业指什么?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?