我如何检查gradle的属性`applicationVariants`?

时间:2018-08-11 02:15:11

标签: android gradle android-gradle

我与this question

有类似的问题
  

无法获取类型为com.android.build.gradle.LibraryExtension的对象的未知属性“ applicationVariants”。

我正在尝试检查此属性,并在如果拥有它的情况下进行一些操作。我以为我可以遵循this answer

// for application modules
if (project.hasProperty('applicationVariants')) {
    println "has applicationVariants"
    android.applicationVariants.all { variant ->
       // ... do something
    }
}

// for library modules
if (project.hasProperty('libraryVariants')) {
    println "has libraryVariants"
    android.libraryVariants.all { variant ->
        // ... do something
    }
}

但是,我没有看到任何打印语句,并且内部代码都没有执行。我想念什么?

1 个答案:

答案 0 :(得分:1)

这些是project.android的属性-在任务afterEvaluate中它们具有值。

task afterEvaluate {

    if(project.android.hasProperty('applicationVariants')) {
        println("*** has applicationVariants")
    }

    if(project.android.hasProperty('libraryVariants')) {
        println("*** has libraryVariants")
    }
}