而不是在每个子项目中复制 android 配置块:
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 14
}
}
我宁愿将其放在顶级/根 gradle 构建文件中,例如:
subprojects{
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 14
}
}
}
然而,这不起作用。 :(
错误:
“..找不到参数的方法 android()...”
解决这个问题的方法是:
subprojects{
afterEvaluate {
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 14
}
}
}
}
据我所知,这是因为在评估时处理/使用 android{...} 意味着一旦它到达根构建文件中的子项目。而且,更准确地说,这意味着顶级项目必须定义它(它可能没有定义,因为它本身可能不是“android”或“android-library”构建)。但是,如果我们将其推迟到评估之后,那么它可以直接使用每个子项目中可用的内容。
这个问题+解决方案还假设所有子项目都是某种形式的android项目(在我的例子中是这样,但对其他人来说不一定)。
更安全的答案是使用:
subprojects{
afterEvaluate {
if(it.hasProperty('android')){
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 14
}
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)