Flutter Android Studio 评估settings 'android'配置时出现报错如何解决
Flutter Android端构建settings 'android'配置报错排查方案
问题现场

你的项目android/settings.gradle配置如下:
include ':app' def localPropertiesFile = File(rootProject.projectDir, "local.properties") def properties = Properties() assert localPropertiesFile.exists() localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } def flutterSdkPath = properties.getProperty("flutter.sdk") assert flutterSdkPath != null, "flutter.sdk not set in local.properties" apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
报错触发原因
local.properties文件缺失:settings.gradle中强制断言该文件必须存在,若项目android/目录下没有该文件会直接触发断言失败flutter.sdk配置异常:local.properties中未配置flutter.sdk路径、路径拼写错误、路径包含中文/特殊字符导致读取失败,触发路径非空断言报错- Flutter SDK文件损坏:你配置的Flutter SDK路径下缺少
packages/flutter_tools/gradle/app_plugin_loader.gradle脚本,一般是SDK文件损坏、版本不匹配导致 - Gradle与Flutter版本不兼容:项目使用的Gradle版本不符合当前Flutter SDK的版本要求,导致插件加载脚本执行失败
修复方法
- 补全
local.properties文件
进入项目android/目录,确认是否存在local.properties文件,不存在则手动创建,填入如下配置:sdk.dir=你的Android SDK本地绝对路径 flutter.sdk=你的Flutter SDK本地绝对路径 - 校验flutter.sdk路径有效性
打开local.properties文件,确认flutter.sdk对应的路径和本地Flutter SDK实际存放路径完全一致,Windows系统下路径分隔符建议用/,不要直接用未转义的\避免转义异常。
你也可以删除settings.gradle中的两行断言代码,避免本地配置差异导致协作场景下其他成员构建失败:// 删除以下两行代码 assert localPropertiesFile.exists() assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - 修复Flutter SDK
终端执行flutter doctor检查SDK状态,若提示SDK异常可执行flutter upgrade --force强制修复,或重新下载对应版本Flutter SDK替换本地损坏版本。 - 适配Gradle版本
执行flutter doctor -v查看当前Flutter版本要求的Gradle版本,修改android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl配置为匹配版本的下载地址即可。
内容的提问来源于stack exchange,提问作者Yunus
相关产品推荐
相关产品推荐

