Решение состоит в том, чтобы просто удалить исключение. Однако проблема, вероятно, связана с недостаточными правами доступа к папке, в которой был установлен флаттер. Убедитесь, что у вас есть необходимые разрешения.
Наконец, вы можете переписать ваши файлы build.gradle, чтобы не исключение, заменив их части следующим:
android / build.gradle
subprojects {
buildDir = "${rootProject.buildDir}/${project.name}"
beforeEvaluate {
def localProps = new Properties().tap { prop ->
File localPropsFile = getRootProject().file('local.properties')
if (localPropsFile.exists()) {
localPropsFile.withReader("utf-8") {
prop.load(it)
}
}
}
localProps.stringPropertyNames().each { key ->
ext[key] = localProps.getProperty(key)
}
}
}
По сути, это означает чтение файла local.properties
(если он существует) и создание считанных из него свойств в пространстве имен подпроекта. В основном мы эмулируем, что Gradle делает с файлом gradle.properties
.
android / app / build.gradle
ext {
flutterRoot = properties.'flutter.sdk'
flutterVersionCode = properties.'flutter.versionCode' ?: '1'
flutterVersionName = properties.'flutter.versionName' ?: '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
... // everything else is pretty much the same from here
Теперь в подпроекте мы можем получить доступ к этим свойствам, используя свойства проекта , Вышесказанное заменяет этот отвратительный шведский стол операторов if на что-то более похожее на град.