Android Studio 中build.gradle文件的详细解析
Posted icolls
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio 中build.gradle文件的详细解析相关的知识,希望对你有一定的参考价值。
困惑的build.gradle
在由Eclipse转到android Studio之后,第一个让我感到困惑的是build.gradle这个文件了,实在话,当时我并不知道这么写是几个意思。
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.test"
minSdkVersion 17
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 'com.android.support:appcompat-v7:21.0.3'
}
如上就是建立一个as工程生成的基本构建文件了,暂且不需要知道他底层怎么实现,至少要知道这么写是几个意思,为何要这么写,我们需要一步一步来揭穿它。
一:Gradle 是基于Groovy语言来构建的,第一点就得了解什么是Groovy语言,以及它的语法。
Groovy是一种动态语言,是从Java语言进化而来,可以说是Java的加强,它能运行于JVM上,具体的一些介绍可以自行谷歌了解,这里只是为了简单的看懂Groovy和基本使用。
开发环境:
Eclipse Groovy开发插件 http://dist.springsource.org/release/GRECLIPSE/e4.4 后边的e4.x要自己对照自己的eclipse版本,否则可能出现无法安装的问题,我的是4.4。
第一个Groovy程序:
右键,新建一个Groovy工程,添加一个groovy资源包(只是为了区分),然后在src下先新建一个JavaTest.java类,勾选main方法,关在方法里写下一行代码打印一个字符串 Hello groovy!
<pre name="code" class="html">public class JavaTest {
public static void main(String[] args) {
System.out.println("Hello groovy!");
}
}
上面是一个很简单的Java类,运行之后将会在控制台输出Hello groovy!
然后同理,我们在groovy资源包下新建一个GroovyTest.groovy 选择新建-other-Grooovy Class
class GroovyTest {
static main(args) {
println "Hello groovy!"
}
}
右键使用Groovy运行后,也会在控制台上打印出 Hello groovy!
相比于JavaTest.java我们发现,GroovyTest.groovy。似乎和JavaTest.java长得很像,只不过是将JavaTest.java去掉了一些内容,如class的修饰符public ,打印的System.out ,参数args的类型String[]。下面我们对GroovyTest.groovy做一些改动:
class GroovyTest {
static main(args) {
System.out.println "Hello groovy!"
}
}
运行之后发现一样能输入Hello groovy!, 有意思,有意思,那我们再给args加上String[]的类型能,
class GroovyTest {
static main(String[] args) {
System.out.println.println "Hello groovy!"
}
}
发现一样能运行,并且同样输入Hello groovy! ,有趣了,是不是说我把java里面的代码都拷过来也能运行呢,这时变成这样:
public class GroovyTest {
public static void main(String[] args) {
System.out.println("Hello groovy!");
}
}
和你想的结果一样,他也准确无语的输出了Hello groovy!,哦,原来和我们看到的一些说明是正确的,groovy和java代码是一样的,它只不过是对java代码进行简化了。
不是说简化吗,假如我把GroovyTest类的代码简化成这样:
println "Hello groovy!"
运行后,发现居然可以输出来Hello groovy!
下面是一些说明:
以上是关于Android Studio 中build.gradle文件的详细解析的主要内容,如果未能解决你的问题,请参考以下文章
颤振:FlutterFcmService - 致命:找不到回调
无法在 android 上使用改造显示 MySQL JSON 数据
AndroidStudio 打包 Android项目 成 aar