You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter 3.7.9升级后Android端无法运行的问题求助

解决Flutter 3.7.9升级后Android端运行失败问题

一、先解决Kotlin Gradle插件依赖解析问题

Flutter 3.7.x对Kotlin版本有明确要求,同时device_info_plus 8.x也需要适配更高版本的Kotlin插件,你当前Gradle 6.5 + Java 8的组合无法兼容Kotlin 1.7.22,先调整Android项目配置:

  • 打开android/build.gradle,修改Kotlin版本为指定值:
    ext.kotlin_version = '1.7.22'
    
  • 检查buildscript的仓库配置,确保添加mavenCentral(),否则无法拉取Kotlin插件:
    buildscript {
      repositories {
        google()
        mavenCentral()
      }
      dependencies {
        classpath "com.android.tools.build:gradle:7.0.4" // 与Gradle 7.0.1匹配的插件版本
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
      }
    }
    

二、修正Gradle与Java版本不匹配问题

升级Gradle到7.0.1后必须搭配Java 11使用,系统仍识别Java 8是因为环境配置未切换,按以下步骤处理:

  • 指定项目Java版本:打开android/app/build.gradle,在android代码块中添加:
    compileOptions {
      sourceCompatibility JavaVersion.VERSION_11
      targetCompatibility JavaVersion.VERSION_11
    }
    kotlinOptions {
      jvmTarget = '11'
    }
    
  • 切换IDE的JDK环境:如果使用Android Studio,进入File > Project Structure > SDK Location,将JDK Location改为Java 11的安装路径。
  • 修正系统环境变量:检查JAVA_HOME是否指向Java 11安装目录,同时将Java 11的bin目录移到PATH环境变量最前端,确保优先识别新版本。

三、修复device_info_plus配置问题

升级到device_info_plus 8.1.0后,执行以下操作确保依赖配置正确:

  • 执行flutter clean清除缓存,再运行flutter pub get重新拉取依赖
  • 检查android/app/src/main/AndroidManifest.xml,移除重复或无效的权限配置(device_info_plus 8.x无需额外权限)

四、验证Gradle升级生效

执行以下命令确认版本匹配:

./gradlew --version

输出需显示Gradle版本为7.0.1,JVM版本为11.x。若仍显示Java 8,需重新检查环境变量或IDE配置。

五、降级适配(以上步骤无效时)

若问题仍存在,可先降级到兼容组合,让项目先运行再逐步升级:

  • 修改ext.kotlin_version = '1.6.21'(兼容Gradle 6.5和Java 8)
  • 修改pubspec.yaml中依赖为device_info_plus: ^4.0.0
  • 执行flutter clean && flutter pub get && ./gradlew clean

内容的提问来源于stack exchange,提问作者Nikko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 02:37:20