android中的build.gradle是干啥用的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中的build.gradle是干啥用的相关的知识,希望对你有一定的参考价值。
为什么要用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失败。 参考技术A
主要配置你的软件版本信息、引用库的配置,以及编译所需的配置
build.gradle是gradle的配置文件,类似于maven中pom.xml文件,以下是build.gradle的简单示例:
apply plugin: 'java'
group = 'org.yousharp'
version = '1.0-SNAPSHOT'
sourceCompatibility = 1.7
targetCompatibility = 1.7
repositories
mavenCentral()
maven url "repo.maven.apache.org/maven2"
dependencies
compile group: 'com.google.guava', name: 'guava', version:'17.0'
compile group: 'redis.clients', name: 'jedis', version:'2.6.0'
testCompile group: 'junit', name: 'junit', version:'4.11'
参考技术B 项目自动化构建工具。就是它的配置文件 参考技术C gradle就相当于一个构建系统,将一套代码按照gradle中的配置构建出相应的apk;
安卓中每一个module下都含有一个build.gradle,其中第一句就是apply plugin:来指定这个文件夹是是library,还是application:
application的gradle主要指定当前flavor所生成apk的包名,签名,apk文件名,编译sdk版本,versionName/code,以及dependencies(依赖库)等等
library的gradle主要指定改library的编译sdk版本号,以及依赖库等;
其实As早已将这些配置已可视化的形式提供给开发者了,在As中ctrl+shift+Alt+S,左侧可以选择不同的module,右侧可对其常用属性进行修改,然后对应gradle会自动添加/修改相应的代码,而不用你手动去写代码;
但是最好自己去找一些Gradle的语法知识学习一下,对于高级开发来说还是很有必要的 参考技术D
在编写程序的时候,有时候我们需要兼容不同系统版本的手机来进行真机测试,所以有时候我们需要修改sdk或者其他的东西的版本号,这时候我们就需要了解build.gradle文件了。
首先,在Android studio的一个工程里,在Gradle Scripts目录下,有一个文件build.gradle(Module:app),打开。这里我随便选了一个工程的build.gradle文件做例子:
apply plugin: 'com.android.application'
android
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
dependencies
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':xDroid')
compile project(':UniversalImageLoader')
compile project(':xdroidrequest')
compile project ( ':library')
compileSdkVersion 21,说明要运行该源码,你必选已经安装了android API 21。
buildToolsVersion 21.1.2 说明要运行该源码,你必须已经安装了 android sdk build-tools 21.1.2。
minSdkVerison 表示向下低至android API 14,即androd 4.0和4.0以上的版本都可以运行该工程。
targetSdkVerision 表示采用的目标android API是 API 21即 android 5.0。
3.下面的dependencies里指明的就是一些需要用到的第三方库。
gradle文件可以有更多的内容,更多详情可以查看百度文库 http://wenku.baidu.com/link?url=dU5_gdgmk-NKE9U4Z1fTarFWFXf6jsHHMoxxVwRc0P4ZRr__OiZHhIhiSQMOla6wqa9FxKdQCfGv3gOZz1e7pemG9g58loNdFObm9g9A8DK
以上是关于android中的build.gradle是干啥用的的主要内容,如果未能解决你的问题,请参考以下文章
ExpressJS Generator 中的 Views 文件夹是干啥用的?