gpt4 book ai didi

android - buildSrc gradle文件夹不编译

转载 作者:太空宇宙 更新时间:2023-11-03 10:18:13 24 4
gpt4 key购买 nike

我的目标是拥有一个其他构建文件可以在 gradle 中看到的通用类。我创建了一个名为 buildSrc 的文件夹,它位于我的 android 项目的根目录中。内容如下所示:

    class CountryFlavors {

def Closure getFlavor() {
return callback;
}

Closure callback ={

mock {
applicationId "ca.mysite.mock"
}
prod {
applicationId "ca.mysite.prod"

}
}

}

从文档中可以看出,放入文件夹 buildSrc 中的类将自动放入与我的 android 构建脚本相同的类路径中。但是相反发生的是找不到该类。我试图在应用程序级别引用 build.gradle 文件中的类,但找不到该类。这是我如何调用 CountryFlavors 类:

new CountryFlavors().getFlavor()

编译器提示找不到这个类。类文件在 buildSrc 中,我将其命名为“build.gradle”。出于专有原因,我在照片中删除了我的根文件夹。我错过了什么? enter image description here

我的最终目标是在外部定义一个类,它可以向我返回一个闭包,我可以在我的构建脚本中使用它。 @蛋白石

最佳答案

尝试将您的 CountryFlavor 类放入:

buildSrc/src/main/groovy/CountryFlavor.groovy

https://docs.gradle.org/current/userguide/custom_tasks.html

为了回答您的问题,我创建了一个简单的项目。这是它的简化结构(我剪切了 .gradle、gradle wrapper 等):

C:.
| build.gradle
| settings.gradle
|
+---buildSrc
| |
| \---src
| \---main
| \---groovy
| CountryFlavors.groovy

build.gradle 很简单:

task myTask << {
println new CountryFlavors().getFlavor()
}

我将 getFlavor() 方法放入:

println "This is my callback"

输出是:

gradle -q myTask

This is my callback
CountryFlavors$_closure1@3ce443f9

关于android - buildSrc gradle文件夹不编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31528766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com