Flutter构建Release APK时compileSdkVersion不匹配问题求助
解决Flutter构建Release APK时compileSdkVersion版本不匹配问题
以下是针对该问题的具体解决步骤:
检查项目全局Gradle配置
打开项目根目录/android/build.gradle(注意不是app模块下的build.gradle),找到ext代码块,确保其中的compileSdkVersion设置为31及以上版本,示例:ext { compileSdkVersion = 33 minSdkVersion = 21 targetSdkVersion = 33 }很多第三方插件会读取这个全局配置,而非app模块单独的设置。
强制统一依赖版本
如果部分插件硬编码了低版本compileSdk,可以在app模块的build.gradle的android块内添加以下配置,强制所有依赖适配指定的SDK版本:configurations.all { resolutionStrategy.eachDependency { details -> // 统一AndroidX依赖版本 if (details.requested.group == 'androidx.core') { details.useVersion '1.10.1' } // 针对Firebase相关插件强制兼容高版本SDK if (details.requested.group == 'com.google.firebase') { details.useVersion '29.0.0' } } }同时确保app模块的
android块和defaultConfig内的版本配置一致:android { compileSdkVersion 33 defaultConfig { targetSdkVersion 33 // 其他原有配置... } }彻底清理缓存并重新构建
- 执行Flutter清理命令:
flutter clean - 删除项目android目录下的
.gradle文件夹(路径:E:\projects\mobileapp\android\.gradle) - 重新执行构建:
flutter build apk --release
- 执行Flutter清理命令:
验证Android Studio的SDK配置
- 打开File > Project Structure > Project,确认Project SDK选择的是你已安装的Android 31+版本
- 切换到Modules > app,检查Properties标签页下的Compile Sdk Version和Target Sdk Version是否与配置文件一致
匹配Gradle版本与SDK版本
打开android/gradle/wrapper/gradle-wrapper.properties,确保distributionUrl对应的Gradle版本支持高版本SDK,例如适配Android 33的Gradle版本可以是:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
内容的提问来源于stack exchange,提问作者stacktrace2234
相关产品推荐
相关产品推荐

