flutter项目编译常见问题汇总

本文介绍了在Flutter应用开发中遇到的依赖下载失败问题,涉及修改`build.gradle`和`flutter.gradle`文件中的阿里云Maven仓库地址,并针对不同版本的FlutterSDK和Gradle配置了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

exception in phase ‘semantic analysis’ in source unit ‘BuildScript’ Unsupported class file major version 65

flutter 项目报错:
> Could not open dsl generic class cache for script 'D:\Soft\Flutter\SDK\flutter_windows_3.13.4-stable\packages\flutter_tools\gradle\app_plugin_loader.gradle' (C:\Users\Admin\.gradle\caches\7.4\scripts\1l8e0a35h1i2er8b1os72o8j7).
   > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65

解决:
1、使用 AS打开 Flutter 项目中的 Android 模块,打开Settings,设置 jdk的版本为11 :
在这里插入图片描述

2、执行 flutter doctor --verbose 命令,关注Java binary 的指向:

Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java

说明 java地址指向了AndroidStudio 自带的Java了(版本17),要使用 flutter config --jdk-dir <jdk目录> 来指定 我们单独下载java目录(版本11);

例如:flutter config --jdk-dir ‘D:\Soft\Java\jdk-11’

一直卡在building a flutter app for general distribution;

AS Message窗口显示 依赖下载失败:

1、修改仓库地址的配置:android/build.gradle

  repositories {
        maven { url 'https://download.flutter.io' }
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url "https://maven.aliyun.com/repository/central" }
        maven { url "https://maven.aliyun.com/repository/jcenter" }
        maven { url "https://maven.aliyun.com/repository/google" }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
//        maven { url "https://maven.aliyun.com/repository" }
        mavenLocal()
        mavenCentral()
//        google()
//        jcenter()
//        gradlePluginPortal()
//        maven { url 'https://repo1.maven.org/maven2/' }
//        maven { url 'https://jitpack.io' }
   }

2、因为setting.gradle中有这个配置:

apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"

所以还要去修改 flutter-tools 中的配置:
…\FlutterSdk\flutter_windows_3.0.5\packages\flutter_tools\gradle\flutter.gradle

repositories {
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url "https://maven.aliyun.com/repository/central" }
        maven { url "https://maven.aliyun.com/repository/jcenter" }
        maven { url "https://maven.aliyun.com/repository/google" }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        google()
        mavenCentral()
    }

注意:3.13 以上的版本,需要修改下面两个文件:

  • flutter_windows_3.13.2\packages\flutter_tools\gradle\src\main\groovy\flutter.groovy
  • flutter_windows_3.13.2\packages\flutter_tools\gradle\resolve_dependencies.gradle

Error: A value of type ‘AbstractNode?’ can’t be assigned to a variable of type ‘RenderObject?’. #22

使用 flutter sdk 3.13 以版本;

使用:

高版本的Gradle配置:

maven { url = uri("https://maven.aliyun.com/repository/public") }
 maven { url = uri("https://maven.aliyun.com/repository/central") }
 maven { url = uri("https://maven.aliyun.com/repository/jcenter") }
 maven { url = uri("https://maven.aliyun.com/repository/google") }
 maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }

参考:https://zhuanlan.zhihu.com/p/26053659993

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值