作者:郭孝星
微博:郭孝星的新浪微博
邮箱:[email protected]
博客:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell
在介绍Gradle for Android脚本语法语法之前,我们先来了解一下Android Studio工程中几个常见的Gradle脚本文件的相关功能,这样我们会有个大致的印象,而后我们再详细的去讨论相关的语法表达。
Android Studio中,Gradle由一个顶级配置文件和其他模块配置文件构成,如下图所示:
下面我们依次来看一下这几个文件。
Gradle顶级配置文件
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { /* 存储库jcenter,也可以配置moven */ jcenter() } dependencies { /* 依赖的Gradle版本 */ classpath 'com.android.tools.build:gradle:1.2.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}allprojects { repositories { /* 所有项目的存储库 */ jcenter() }}
该文件的内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本,android studio 1.0正式版必须要求支持gradle plugin 1.0的版本。
全局项目配置文件
settings.gradle
include ':app'
这个文件是全局项目配置文件,里面主要声明需要加入Gradle的Module。上述文件只加入了app模块,如果有多余的模块,按照上述格式继续添加即可。
Gradle Wrapper属性文件
gradle-wrapper.properties
#Wed Apr 10 15:27:10 PDT 2013distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
这是位于wrapper文件夹下的一个文件,该文件声明了Gradle的目录与下载路径以及当期项目使用的Gradle的版本。这些默认的路径一般是不会更改的,这个文件指定的Gradle的版本不对也是导包不成功的常见原因。
Gradle模块配置文件
build.gradle
apply plugin: 'com.android.application'//声明是Android程序android { compileSdkVersion 22//编译SDK的版本 buildToolsVersion "22.0.1"//Build Tools的版本 defaultConfig {//默认配置 applicationId "com.allenwells.myapplication"//应用包名 minSdkVersion 15//最小API版本 targetSdkVersion 22//编译API版本 versionCode 1//版本号 versionName "1.0"//版本名称 } buildTypes {//构建类型 release {//正式版配置 minifyEnabled false//是否进行混淆 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }//混淆配置文件的位置 } //移除lint检查的error lintOptions { abortOnError false } sourceSets { main { jniLibs.srcDirs =['libs'] } }}dependencies { //依赖配置,编译libs目录下的所有JAR包 compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.1.1' //编译extras目录下的ShimmerAndroid模块 compile project(':extras:ShimmerAndroid')}
关于以上文件的几点说明:
- apply plugin是最新gradle版本的写法,以前的写法是apply plugin: ‘android’。
- buildToolsVersion这个需要你本地安装该版本才行,很多人导入新的第三方库,失败的原因之一是build version的版本不对,这个可以手动更改成你本地已有的版本或者打开SDK Manager去下载对应版本。
- applicationId代表应用的包名,也是最新的写法。
- android 5.0开始默认安装jdk1.7才能编译。
- minifyEnabled也是最新的语法,很早之前是runProguard。
- proguardFiles这部分有两段,前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,免去了我们很多事,这个文件的目录在
版权声明:本文为博主原创文章,未经博主允许不得转载。