Android Studio Gradle变量和任务范围访问

时间:2014-07-09 06:27:18

标签: gradle android-studio

我试图弄清楚如何在多个文件中调用和访问任务和变量。我想在'projects.gradle'文件中创建一个自定义任务和一个变量,并且能够在模块的'build.gradle'文件中访问它,该文件将使用'apply from'导入'projects.gradle'文件。 p>

此外,我想知道如何在gradle文件中调用自定义任务。例如,如果我想在gradle项目的'init'阶段开始之前调用任务

我添加了一些小样本代码来说明我的意思。

编辑:在android任务之外移动decleration。

主'project.gradle'文件

apply plugin: 'android'

// *** DECLARE TASK / VARIABLE HERE

android {
    compileSdkVersion 19
    buildToolsVersion '20.0.0'
    useOldManifestMerger false

    packagingOptions {
        exclude 'LICENSE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
    }

    defaultConfig {
        applicationId 'com.oculono.elpmas'
        minSdkVersion 14

        testApplicationId 'com.oculono.elpmas.tset'
        testInstrumentationRunner "android.test.InstrumentationTestRunner"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    sourceSets {
        release.setRoot('build-types/release')
        debug.setRoot('build-types/debug')
    } 
}

导入project.gradle文件的模块'build.gradle'文件

import groovy.transform.Field;

apply from : '../project.gradle'

// *** ACCESS VARIABLE / TASK HERE

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':CoCo')
}

1 个答案:

答案 0 :(得分:1)

您无法在android区块中创建任务。在此块之后声明它,您可以在build.gradle中访问任务而不会出现任何问题。谈到变量 - 尝试使用ext持有者。请参阅extra properties