android Gradle 深入须知

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相关基础的哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值