Gradle Cheat Sheet (13): Importing Gradle Projects
Contents [show]
1. 在Android Studio中导入Gradle项目
首先建立一个简单的任务,建立gradle.build,加入:
task tellJoke << { println "What's a build master's favorite black metal band?" println "Gradle of Filth!" }
然后打开Android Studio,依次点击File > New > Import Project,如图1。接着选择上面建立的gradle.build。
Android Studio会提示是否使用Gradle Wrapper,如图2,点击OK确定。

图2
稍等片刻导入完成,切换到Project视图,可以在gradle.build所在的目录下看到自动生成的Gradle Wrapper,以及一些Android Studio的文件,如图3所示。
Gradle增量编译的相关信息保存在.gradle文件夹;Android Studio项目相关文件保存在.iml文件和.idea文件夹;如果build有输出,则位于build文件夹;gradle文件夹存放Gradle Wrapper的jar和properties文件;local.properties文件用于让Gradle定位Android SDK。
2. 执行Gradle Task
在Android Studio中,可以直接在下方的Terminal窗口运行Gradle任务,如图4。
第一次使用Gradle Wrapper需要为gradlew添加运行权限:
$ chmod +x gradlew
然后就可以运行tellJoke 任务:
$ ./gradlew tellJoke
除了使用命令行,也可以在右边的Gradle project面板找到tellJoke任务,如图5,双击即可运行。
再在gradle.build添加一个新任务:
task tellAnotherJoke <<{ println "How long does it take to master build tools?" println "From the Gradle to the grave." }
添加完后,这个任务并不会自动出现在Gradle project面板,需要手动触发一次Gradle和Android Studio的同步,如点击工具栏的“Sync Project with Gradle Files”,如图6。
之后就会出现tellAnotherJoke了,如图7。
3. 编译代码
接下来在建立路径\src\main\java\com\udacity\gradle,并在其中新建JokeTeller.java,内容如下:
package com.udacity.gradle; public class JokeTeller { public static void main(String[] args){ System.out.println("Java. Write once, debug everywere."); } }
修改build.gradle的内容为:
apply plugin: 'java' apply plugin: 'application' mainClassName = "com.udacity.gradle.JokeTeller" task solutionExecute(type: JavaExec) { main = "com.udacity.gradle.JokeTeller" classpath = sourceSets.main.runtimeClasspath }
这里加入了application插件,mainClassName 向application插件指明要运行的主类。接着就可以运行run :
$ ./gradlew run
或者运行build.gradle中定义的solutionExecute :
$ ./gradlew solutionExecute
可以看到输出:
Java. Write once, debug everywere.
本部分的完整代码可以在这里找到。