我正在尝试我的项目的build.gradle。目前我的项目由几个模块组成,每个模块都有共同的依赖关系,如android支持或网络库。我是Experimenting with gradle dependencies。 我在文件 lib-group.gradle 中声明了一组名为 lib_mandatory()的依赖项,但是当我尝试将它包含在我的应用程序的build.gradle中时,gradle sync失败。
Error:Could not find method lib_mandatory() for arguments [] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
我该如何解决这个问题?或任何有关此错误含义的提示?
更新: 这是lib-group.gradle
def dependencyGroup(Closure closure) {
closure.delegate = dependencies
return closure
}
def lib_mandatory = dependencyGroup{
implementation libraries.rxjava
implementation libraries.rxandroid
}
这是app的build.gradle
apply from: '../lib-group.gradle'
dependencies {
lib_mandatory()
}
答案 0 :(得分:0)
该文章中使用的方法略有不同,该文章使用了lib-group.gradle
内的函数,只使用applied
(从......申请)lib-group.gradle
中的build.gradle
应用build.gradle
。
在您的方法中,您尝试在应用的ext
中使用该功能。
如果您希望从其他文件访问您的功能,则应使用def
代替inputs()
。你可能想读这个:
Gradle def vs ext