我的build.gradle配置存在什么问题?编译报错未指定compileSdkVersion
解决compileSdkVersion未指定的构建错误
你遇到的问题是模块级build.gradle未引用根build.gradle中定义的全局版本变量。虽然你在根build.gradle的buildscript.ext里声明了compileSdkVersion,但Gradle需要在具体模块(比如app模块)的配置中明确指定这个参数。
修复步骤
- 打开项目中的
app/build.gradle文件(注意不是根目录下的build.gradle) - 在
android代码块中添加或修改以下配置,引用根项目的全局变量:
android { // 引用根build.gradle中定义的版本号 compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { applicationId "你的应用包名" // 替换成你实际的包名 minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" } // 其他已有的android配置(比如buildTypes、productFlavors等)... }
额外优化建议
- 移除所有
jcenter()仓库引用:jcenter已经停止维护,根build.gradle和app/build.gradle里的repositories块都换成google()和mavenCentral()即可 - 若后续仍有版本兼容问题,可以考虑升级Gradle插件版本:当前使用的
com.android.tools.build:gradle:4.1.0适配compileSdk31,但升级到7.x版本(比如7.0.4)会更适配新的Android编译环境
内容的提问来源于stack exchange,提问作者julcodecode
相关产品推荐
相关产品推荐

