我有一个带有4个子模块的基于gradle的Android项目 - 两个库和两个应用程序。我试图通过将一些共享代码/配置移动到最高级别的build.gradle文件来简化每个子模块的build.gradle文件,并使用subprojects {}
使该代码可用于每个子模块。从gradle构建Android项目时无法找到用于参数的方法android()
的文件系统结构如下所示:
Root
|- App1/
|- App2/
|- Lib1/
|- Lib2/
|- build.gradle
|- settings.gradle
的问题是,如果我添加一个android {}
部分子项目的Gradle,然后任务失败。例如,这是我的顶层的build.gradle文件:
subprojects { project ->
android {
buildToolsVersion "20.0.0"
}
}
运行gradle这个回报是:
出了什么问题: 的问题发生评估根项目“机器人”。 在根项目'android'上找不到方法android()参数[build_7dngpra6ldok366maq0on77r7e $ _run_closure3_closure5 @ 43d95624]。
我搜索了类似的帖子,有些人建议增加线路apply plugin: 'android'
每个子项目,以揭露失踪android()
方法摇篮抱怨。但是,该解决方案对我不起作用,因为它会将该行有效地添加到库项目中,而该项目需要apply plugin: 'android-library'
。
当您在同一个项目中拥有应用程序和库时,有没有办法在subprojects {}
之内使用android {}
?
我在gradle中做了这个修改,但我得到的 – AdiAtAnd 2016-10-07 01:31:22
仍然适用于我,确保你编辑了正确的build.gradle文件(有2个,检查文件夹) – vaskort 2016-11-13 22:04:12