我正在试验我的项目's build.gradle. Currently my project consist of several modules, each of these module have common dependencies, such as android support or network library. I' m 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
}
这是应用程序的build.gradle
apply from: '../lib-group.gradle'
dependencies {
lib_mandatory()
}
1 回答
该文章中使用的方法略有不同,该文章使用了
lib-group.gradle
中的函数,并且在应用程序的build.gradle
中只使用applied
(从...应用)lib-group.gradle
.在你的方法中,你're trying to use the function in the app' s
build.gradle
.如果希望从其他文件访问函数,则应使用
ext
而不是def
. 你可能想读这个:Gradle def vs ext