Flutter SDK 3.35.2升级后Android构建失败:flutter.minSdkVersion未定义的解决求助
Flutter SDK 3.35.2升级后Android构建失败:flutter.minSdkVersion未定义的解决求助
大家好,我最近把Flutter SDK升级到3.35.2版本后,Android端的构建直接失败了,折腾了好一阵没找到靠谱的解决办法,来这里求助各位大佬!
问题详情
每次执行构建时,都会自动触发一个Upgrading build.gradle的阶段,它会把我app/build.gradle里原来硬编码的minSdkVersion 21替换成flutter.minSdkVersion,但问题是这个flutter对象根本没被定义,直接导致构建报错。
修改后的app/build.gradle关键部分是这样的:
buildscript { ext { minSdkVersion = flutter.minSdkVersion } } plugins { id "com.android.application" id "kotlin-android" id "dev.flutter.flutter-gradle-plugin" } // 后续defaultConfig块里的配置也被修改: android { defaultConfig { // ...其他配置 minSdkVersion flutter.minSdkVersion // ...其他配置 } }
对应的构建错误日志如下:
FAILURE: Build failed with an exception. * Where: Build file '/home/csaba/repos/flutter/track_my_indoor_exercise/android/app/build.gradle' line: 3 * What went wrong: A problem occurred evaluating project ':app'. > Could not get unknown property 'flutter' for object of type org.gradle.internal.extensibility.DefaultExtraPropertiesExtension. * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 10s Error: Gradle task assembleDebug failed with exit code 1
更头疼的是,我手动把代码改回硬编码的21也没用,下一次构建时这个升级步骤又会自动把它改回去。我之前的配置是直接写死minSdkVersion为21的,完全正常运行。
我目前想到的两个解决方向,求指点
- 理想方案:有没有办法把项目的构建配置升级到正确的状态,让
flutter对象能被正常识别,这样用flutter.minSdkVersion就不会报错了? - 临时 workaround:如果一时半会儿找不到升级配置的方法,能不能直接禁用这个自动升级build.gradle的步骤?
内容来源于stack exchange
相关产品推荐
相关产品推荐

