Cas*_*alT 11 android gradle android-gradle-plugin
而不是在每个子项目中复制android配置块:
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 14
}
}
Run Code Online (Sandbox Code Playgroud)
我宁愿把它放在顶级/根gradle构建文件中,如:
subprojects{
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 14
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.:(
错误:"..无法找到参数的方法android()......"
Cas*_*alT 17
对此的解决方案原来是:
subprojects{
afterEvaluate {
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 14
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
据我所知,这是因为在评估时处理/使用android {...}意味着它必须存在(即明确写入或包含为"应用插件"的一部分),一旦它到达根构建文件中的子项目.而且,更准确地说,这意味着顶级项目必须定义它(它可能不会因为它可能不是'android'或'android-library'构建本身).但是,如果我们将其推迟到评估之后,那么它可以直接使用每个子项目中可用的内容.
这个问题+解决方案还假设所有子项目都是某种形式的android项目(在我的情况下是真的,但不一定是其他的).更安全的答案是使用:
subprojects{
afterEvaluate {
if(it.hasProperty('android')){
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 14
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1619 次 |
| 最近记录: |