今天新升级了Android Studio的版本,升到最新的2.2了。导入了之前创建的一个项目,但是一直报错:Could not find method android() for arguments.
通过查各种资料后找到原因,是因为SDK的版本不一致导致的。我原来项目用的是23版本的,后来升级之后的AndroidStudio用的是24版本的。这样就导致了主工程里的build.gradle文件里配置的是:
android {
compileSdkVersion 24
buildToolsVersion '24.0.3'
}
但是在我子模块build.gradle文件里配置的确是:
android {
compileSdkVersion 23
buildToolsVersion '23.0.1'
}
如果你的App包含了多个Android模块, 应该尽量避免给每个模块手动指定编译SDK版本。公有的编译属性最好一块定义在主工程里面!
这样修改之后的就是将主工程里的build.gradle文件里的sdk配置删掉
android {
compileSdkVersion 24
buildToolsVersion '24.0.3'
}
然后添加如下配置:
//主工程中进行配置
ext {
compileSdkVersion = 24
buildToolsVersion = "24.0.3"
}
并在子模块中引用上面添加的配置,从而使得sdk版本保持一致:
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}
修改完之后再重新编译一下就好了。