Flutter升级后出现Gradle 1151错误,求解决方案
Flutter升级后构建失败:Target kernel_snapshot failed 问题
错误信息
Target kernel_snapshot failed: Exception FAILURE: Build failed with an exception. * Where: Script '/home/nunyalab/snap/flutter/common/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1151
现有Gradle配置
项目根目录 build.gradle
buildscript { ext.kotlin_version = '1.8.0' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:4.3.14' } } allprojects { repositories { google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') }
App模块 build.gradle
def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { localPropertiesFile.withReader('UTF-8') { reader -> localProperties.load(reader) } } def flutterRoot = localProperties.getProperty('flutter.sdk') if (flutterRoot == null) { throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") } def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' } def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { flutterVersionName = '1.0' } apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" apply plugin: 'com.google.gms.google-services' android { compileSdkVersion 33 ndkVersion flutter.ndkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } sourceSets { main.java.srcDirs += 'src/main/kotlin' } defaultConfig { applicationId "com.pikipikiafrica.pikirider" minSdkVersion 21 targetSdkVersion 33 versionCode 1 versionName '1.0.0' } buildTypes { release { signingConfig signingConfigs.debug } } } flutter { source '../..' } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation platform('com.google.firebase:firebase-bom:26.6.0') implementation 'androidx.multidex:multidex:2.0.1' implementation 'com.mercadopago.android.px:checkout:4.+' } task clean(type: Delete) { delete rootProject.buildDir }
解决方案
1. 对齐Flutter与Gradle、Kotlin版本兼容性
新版本Flutter对Gradle和Kotlin插件版本有更高要求,修改项目根目录build.gradle:
buildscript { ext.kotlin_version = '1.8.20' // 更新Kotlin版本 repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 更新Gradle插件版本 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:4.4.0' // 更新Google Services插件 } }
2. 清理项目缓存
执行以下命令彻底清理缓存并重新拉取依赖:
flutter clean rm -rf .gradle/ build/ flutter pub get
3. 更新第三方依赖版本
- Firebase BOM版本过低,修改App模块
build.gradle中的依赖:implementation platform('com.google.firebase:firebase-bom:32.2.0') - MercadoPago使用通配符版本可能引发兼容性问题,指定稳定版本:
implementation 'com.mercadopago.android.px:checkout:4.16.0'
4. 验证Flutter SDK路径
检查local.properties文件中的flutter.sdk路径是否指向升级后的Flutter SDK位置,确保路径正确无误。
内容的提问来源于stack exchange,提问作者Pondikpa Tchabao
相关产品推荐
相关产品推荐

