该文档仅为个人解决记录
修改 Flutter SDK 使用的 maven 镜像
参考自: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/';
修改 Flutter SDK 下载资源时访问的库的镜像
参考自: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’ 的解决方法
修改 Flutter 项目使用的 gradle 为本地自己下载的 gradle
对于 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
修改 Flutter SDK 构建项目时 gradle 使用的镜像
参考自: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 项目中的 build.gradle 中使用的镜像
新版本的 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' }
}
}
其他报错 1
对于 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";
后失败,出现如下报错的,可以尝试不修改,使用默认的(会比较慢,等比较久)
其他报错 2 Execution failed for task ‘:app:checkDebugAarMetadata’. Could not resolve all dependencies for configuration ‘:app:debugRuntimeClasspath’.
这是在新电脑中,在进行 1、2、4 配置之后进行 5 配置,启动 Flutter 项目出现了如下报错
自己粗心导致如下报错
该报错的原因是 maven { url '...' }
中使用的地址存在非安全协议地址,flutter 不支持在没有明确选择加入的情况下对存储库使用不安全的协议,因此将非安全协议地址修改为安全协议地址即可
其他报错 3 Execution failed for task ‘:app:xxx‘.
参考自: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' }
}
}
原先(旧电脑中)解决 Flutter 项目启动时,一直卡在 Running Gradle task ‘assembleDebug’ 记录
在 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文章来源:https://www.toymoban.com/news/detail-854953.html
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
文章来源地址https://www.toymoban.com/news/detail-854953.html
到了这里,关于修改Flutter3.19.2SDK的镜像源为国内镜像源 解决一直卡在Running Gradle task ‘assembleDebug‘与Executfailed for task ‘app:x‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!