我们正在尝试通过移动可以包含在所有项目中的集中式gradle文件中的常用配置来组织我们的各种项目。在此过程中,我们面临一些问题
例如,这是项目的root build.gradle
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
allprojects {
repositories {
jcenter()
google()
}
System.println "Processing"
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是一个模块build.gradle
apply plugin: 'com.android.library'
apply plugin: 'maven'
...
这很好用。现在我将root build.gradle内容复制到其他文件中,然后使用" apply from:"在根级别build.gradle文件中,现在看起来像是
apply from: "/code/android/java/buildscripts/root.gradle"
虽然gradle成功处理了上面的文件(正如我从println日志中看到的那样),但是当它移动到处理模块级build.gradle文件时会出错。错误是"插件带有id' com.android.library'找不到"
这是令人惊讶的,因为相同的模块级gradle文件在应用时未成功符合:未使用。我想"申请来自"有包含另一个gradle文件的效果,但似乎有一些其他副作用。
任何见解?