Gradle Android最新自动化编译脚本教程(提供demo源码)

上面这句话我觉得写得很官方,大家只需知道Gradle可以用来android开发中进行多个项目依赖的自动化编译脚本,知道这点也就知道我们使用它的目的;

为什么不使用Ant做自动化编译脚本,因为ant上手快,但是维护起来太不方便了,有了Gradle你可以跟项目组的同事说,用Ant的孩子们别苦逼的维护了,赶紧换成gradle吧。

本文面向gradle新手或者以前使用过gradle低版本的朋友,因为我感觉每次gradle升级那个脚本也有些坑爹,有些api就废弃掉了,不过总体感觉每次升级都让这个工具更加严谨话,易用话了。

二、Demo描述

下面我就简单写一个demo,通过这个demo程序让大家如何快速上手,比较实用的一个实例:

demo程序分为2个工程,你可以直接实用eclipse新建一个android工程,其实我也是这么干的,这样一来大家仔细看下图

这里顺便强调一下demo工程的环境配置:(很重要,否则下面被我坑了别怪我提起没跟你说)

jdk:C:\Program Files\Java\jdk1.8.0_20(注意:不要使用jre,gradle会提示你使用jdk的)

否则脚本会提示以下错误:

* What went wrong:Execution failed for task ‘:appcompat_v7:compileReleaseJava’.> Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOMEsystem variable to point to the according directory.android-sdk:D:\dev\adt-bundle-windows-x86-20140702

android-api: 20, android4.4W(注意:做android开发你每次都是用最新的api编译是一个好习惯)

gradle:2.1,(使用最新的版本2.2,no zuo no die,被坑不断,欢乐不断)

gradle的下载地址:,大家可以看看文档,当然你的E文好的话,会容易上手,不过没关系,看了我写的文章你gradle的文档你可以不看了,因为很多东西你用不上,除非你项目中使用了特别复杂的功能

gradle2.1的api文档:,这个需要你偶尔翻翻,因为简单功能会用上的

环境变量配置:

JAVA_HOME,GRADLE_HOME都要添加到环境变量里

当然了path变量里你也要加上 JAVA_HOME/bin,和GRADLE_HOME/bin,这样下面你开一个CMD命令行,才可以方面使用gradle build命令

好了准备工作完成后,我们就开始正式讲讲这个demo工程了

TestDemo工程就写了一个activity,显示hello world!

Appcompatv7工程大家懂得一个library,很有代表性,我们实际项目中会用到多个library,你可以举一反三了。

下面看看目录文件:

你想运行编译脚本,需要2个配置文件,local.properties和settings.gradle

settings.gradle里的代码内容:

include ‘:appcompat_v7’, ‘:TestDemo’这里面可以看到是project的描述,如果你有多个工程如论主工程还是引用的库工程,都需要在这里面声明,否则gradle找不到

local.properties里的代码内容:

sdk.dir=D:\\dev\\adt-bundle-windows-x86-20140702\\sdk这里面可以看到是android sdk的目录,自己填好,否则也会报错。 好了下面讲讲每个工程里面都需要配置一个build.gradle 文件

appcompat_v7工程的build.gradle:

buildscript{repositories{mavenCentral();}dependencies{classpath ‘com.android.tools.build:gradle:0.13.+’ //如果使用gradle2.2版本,请改为gradle:0.14.+}tasks.withType(JavaCompile) { options.encoding = "UTF-8" }}apply plugin:’android-library’dependencies{compile fileTree(dir:’libs’,include:"*.jar")}android{compileSdkVersion 20buildToolsVersion "20"enforceUniquePackageName=falselintOptions{abortOnError false}sourceSets{main{manifest.srcFile ‘AndroidManifest.xml’java.srcDirs = [‘src’]resources.srcDirs = [‘src’]aidl.srcDirs = [‘src’]renderscript.srcDirs = [‘src’]res.srcDirs = [‘res’]assets.srcDirs = [‘assets’]}}lintOptions{abortOnError false}}

对于这个文件我需要强调几点:

1、classpath ‘com.android.tools.build:gradle:0.13.+’ ,很多人用了低版本出了问题写什么0.11+,我不管,你要使用gradle2.1版本,这里就写成0.13.+包你没错。如果使用gradle2.2版本,这里就要写成0.14.+

2、apply plugin:’android-library’,说明这个一个库工程,详细自己找资料脑补

不论你在什么时候开始,重要的是开始之后就不要停止

Gradle Android最新自动化编译脚本教程(提供demo源码)

相关文章:

你感兴趣的文章:

标签云: