赞
踩
该文档仅为个人解决记录
参考自:https://blog.csdn.net/qq_39105508/article/details/133992154
在 flutter3.19.2\packages\flutter_tools\lib\src 下的 http_host_validator.dart 文件中,找到 const String kMaven = 'https://maven.google.com/';
,将 Flutter SDK 使用的 maven 镜像修改为国内镜像
const String kMaven = 'https://maven.aliyun.com/repository/google/';
参考自:https://blog.csdn.net/libra_boy/article/details/134712545
由于 Flutter SDK 下载资源,会尝试使用环境变量
// Overridable environment variables.
const String kPubDevOverride = 'PUB_HOSTED_URL';
所以在系统的环境变量中添加 PUB_HOSTED_URL 和 FLUTTER_STORAGE_BASE_URL,其值分别为:
PUB_HOSTED_URL 设置为 https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL 设置为 https://storage.flutter-io.cn
我到这里成功了,此时是新电脑采用了上述设置就成功了,如果还不行,可以进行如下设置,下述设置旧电脑中的解决设置。
我到上述步骤就成功了,存在一种可能,我在新电脑的 Android Studio 中,下载 gradle 成功了,也有可能上述配置就可以了,可以试试看flutter run
能不能成功。
如果你到这就成功了,修改 Flutter SDK 构建项目时 gradle 使用的镜像(https://www.yuque.com/u27599042/rwe4wi/ozui5zabcpqucvz0#pHQxV),我感觉是可以配置一下的,我后面在上述配置完成后,进行此项配置,Flutter 项目还是正常启动了。
下述步骤,也是我在旧电脑中解决 Flutter 项目启动时,一直卡在 Running Gradle task ‘assembleDebug’ 的解决方法
对于 gradle 去官网 https://gradle.org/ 下载特别慢的,可以在 https://blog.csdn.net/nudt_spy/article/details/124208822 中手动将 gradle 下载到本地
然后在 flutter 项目\android\gradle\wrapper 下的 gradle-wrapper.properties 文件中,配置使用本地的 gradle,修改 distributionUrl 配置项,distributionUrl 配置项的取值格式参考如下:
distributionUrl=file\:///D:/development-environment/flutter/gradle/gradle-7.4.2-all.zip
参考自:https://blog.csdn.net/qq_44408123/article/details/115597959
在 flutter3.19.2\packages\flutter_tools\gradle\src\main\groovy 下的 flutter.groovy 文件中,找到 buildscript,将 Flutter SDK 构建项目时 gradle 使用的镜像修改为国内镜像
修改 flutter3.19.2\packages\flutter_tools\gradle\src\main\groovy 下的 flutter.groovy 文件,是由于 flutter3.19.2\packages\flutter_tools\gradle 下的 flutter.gradle 文件中
apply from: "$pathToThisDirectory/src/main/groovy/flutter.groovy"
指向了该文件
// This buildscript block supplies dependencies for this file's own import // declarations above. It exists solely for compatibility with projects that // have not migrated to declaratively apply the Flutter Gradle Plugin; // for those that have, FGP's `build.gradle.kts` takes care of this. buildscript { repositories { // google() // mavenCentral() maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } } dependencies { // When bumping, also update: // * ndkVersion in FlutterExtension in packages/flutter_tools/gradle/src/main/flutter.groovy // * AGP version constants in packages/flutter_tools/lib/src/android/gradle_utils.dart // * AGP version in dependencies block in packages/flutter_tools/gradle/build.gradle.kts classpath("com.android.tools.build:gradle:7.3.0") } }
新版本的 flutter 项目中无 buildscript
新电脑中,在进行 1、2、4 配置之后进行此项配置,启动 Flutter 项目出现了如下报错,即使参考 https://blog.csdn.net/qq_44408123/article/details/115597959 中进行配置修改,添加了 buildscript 还是启动 Flutter 项目失败了,然后修改为本地的 gradle 还是失败了,还原至只进行 1、2、4 配置,才 Flutter 项目启动成功
自己粗心导致如下报错
仔细阅读报错信息后,才发现是**maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }**
使用的不是安全协议地址,flutter 不支持在没有明确选择加入的情况下对存储库使用不安全的协议,将 http://maven.aliyun.com/nexus/content/groups/public 修改为安全协议地址 https://maven.aliyun.com/nexus/content/groups/public 即成功了
该报错的解决在下面的其他报错 2
在 flutter 项目\android\build.gradle 文件中,修改 allprojects
allprojects {
repositories {
// google()
// mavenCentral()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
}
}
对于 https://blog.csdn.net/qq_44408123/article/details/115597959 中,如果修改 private static final String DEFAULT_MAVEN_HOST
为 private static final String DEFAULT_MAVEN_HOST = "https://storage.flutter-io.cn.com";
后失败,出现如下报错的,可以尝试不修改,使用默认的(会比较慢,等比较久)
这是在新电脑中,在进行 1、2、4 配置之后进行 5 配置,启动 Flutter 项目出现了如下报错
自己粗心导致如下报错
该报错的原因是 maven { url '...' }
中使用的地址存在非安全协议地址,flutter 不支持在没有明确选择加入的情况下对存储库使用不安全的协议,因此将非安全协议地址修改为安全协议地址即可
参考自:https://blog.csdn.net/Katie_fly/article/details/109680958
对于此类报错的解决,可以尝试修改 flutter 项目/android/build.gradle 文件中 repositories 配置使用的镜像源为国内的镜像源:
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
如果有 buildscript 配置项,其与 allprojects 类似,修改其中的 repositories
allprojects {
repositories {
// google()
// mavenCentral()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
}
}
在 VS Code 集成终端中,运行如下命令,启动运行项目
flutter run
对于一直卡在
Running Gradle task 'assembleDebug'
,可以先参考 https://blog.csdn.net/nudt_spy/article/details/124208822 手动将 gradle 下载到本地(可能是由于 gradle 服务器在国外导致其下载不下来,然后就卡住了),然后参考 https://blog.csdn.net/qq_44408123/article/details/115597959 进行配置的修改,至于 com.android.tools.build:gradle 的版本号,可以参考 flutter3.19.2\packages\flutter_tools\gradle\src\main\groovy\flutter.groovy 文件中 90 行左右的版本号。
对于 https://blog.csdn.net/qq_44408123/article/details/115597959 中,如果修改private static final String DEFAULT_MAVEN_HOST
后失败,出现如下报错的,可以尝试不修改,使用默认的(会比较慢,等比较久)
对于上述方法,我是成功了,就是第一次等的还是有点久,使用的 Flutter 版本为 3.19.2
buildscript { ext.kotlin_version = '1.7.10' repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } } dependencies { classpath 'com.android.tools.build:gradle:7.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } tasks.register("clean", Delete) { delete rootProject.buildDir }
项目名\android\gradle\wrapper\gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=file\:///D:/development-environment/flutter/gradle/gradle-7.4.2-all.zip
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。