Gradle分组依赖项

时间:2017-11-15 14:07:05

标签: android gradle

我正在尝试我的项目的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()
}

1 个答案:

答案 0 :(得分:0)

该文章中使用的方法略有不同,该文章使用了lib-group.gradle内的函数,只使用applied(从......申请)lib-group.gradle中的build.gradle应用build.gradle

在您的方法中,您尝试在应用的ext中使用该功能。

如果您希望从其他文件访问您的功能,则应使用def代替inputs()。你可能想读这个: Gradle def vs ext