Android studio 开发基本的build.gradle的简单都会能配置上去。我也会基本的gradle脚本。
那么你真的了解这个吗?
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "energy.trinabess.com.appplugin"
minSdkVersion 14
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
反正我一想想吧,我是懵逼了,我是没有真正弄懂这是什么意思呢!
AS是用Gradle脚本来做相关配置的,Gradle脚本到底是什么东西呢?
开始Gradle之前请务必保证自己已经初步了解了Groovy脚本。
Groovy网上的教程一堆一堆的,可自行百度学习。还需要特定的了解Groovy闭包相关问题。
Gradle核心是基于Groovy的领域特定语言(DSL【需要翻墙】,具体概念参见《Groovy脚本基础全攻略》)。Gradle核心是Groovy,Groovy本质又是Java! AS中可以直接看到相关Java代码。
例如:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile 'com.qihoo360.replugin:replugin-plugin-lib:2.2.0'
}
对应Groovy的Java代码如下:
void dependencies(Closure configureClosure);
Closure 闭包是上面{}的东西。
Groovy编译之后的东西还是字节码,可直接运行到JVM上去,JVM是不知道他到底是什么写的。
所以呢,我们在写gradle脚本的时候,需要弄懂Gradle DSL相关基础的哦。