使用两个不同构建gradle文件之间的默认值

时间:2017-03-09 21:14:20

标签: gradle android-gradle

我的Android项目中有以下场景:

Project1 - > Build.gradle(1)     Project2的 - > Build.gradle(2)

Example: Define the following variable:

//first Gradle file
def getProductFlavor() {
//Logic here
Gradle gradle = getGradle()
String requestingTask = gradle.getStartParameter().getTaskRequests().toString()
return requestingTask
}

Instead of defining getCurrentTime() in the second Gradle file, 
I call the getCurrentTime() from the first Gradle file.

也许我的示例是错的,默认值需要在另一个gradle文件中实现,比如脚本gradle或其他地方,但该示例的目的是澄清我想要实现的目标。

这两个项目是独立的,但都属于同一个android项目。我想在这两个gradle文件中使用ONE def值。

顺便说一句,我是个新手。没关系,我是否以错误的方式提出这个问题。

1 个答案:

答案 0 :(得分:2)

感觉像是外部脚本的场景:

main-project
....| sub-project1
........| src
........| build.gradle
....| sub-project2
........| src
........| build.gradle
....| common.gradle

<强>的build.gradle

apply from: '../common.gradle'

def flavor = getProductFlavor()

<强> common.gradle

def getProductFlavor() {
    Gradle gradle = getGradle()
    String requestingTask = gradle.getStartParameter().getTaskRequests().toString()
    return requestingTask
}

ext {
    getProductFlavor = this.&getProductFlavor
}