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

被折叠的 条评论
为什么被折叠?



