該文檔僅為個人解決記錄
修改 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 下載資源,會嘗試使用環(huán)境變量
// Overridable environment variables.
const String kPubDevOverride = 'PUB_HOSTED_URL';
所以在系統(tǒng)的環(huán)境變量中添加 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),我感覺是可以配置一下的,我后面在上述配置完成后,進行此項配置,F(xiàn)lutter 項目還是正常啟動了。
下述步驟,也是我在舊電腦中解決 Flutter 項目啟動時,一直卡在 Running Gradle task ‘assembleDebug’ 的解決方法
修改 Flutter 項目使用的 gradle 為本地自己下載的 gradle
對于 gradle 去官網(wǎng) 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 項目出現(xiàn)了如下報錯,即使參考 https://blog.csdn.net/qq_44408123/article/details/115597959 中進行配置修改,添加了 buildscript 還是啟動 Flutter 項目失敗了,然后修改為本地的 gradle 還是失敗了,還原至只進行 1、2、4 配置,才 Flutter 項目啟動成功自己粗心導致如下報錯
仔細閱讀報錯信息后,才發(fā)現(xiàn)是**maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }**
使用的不是安全協(xié)議地址,flutter 不支持在沒有明確選擇加入的情況下對存儲庫使用不安全的協(xié)議,將 http://maven.aliyun.com/nexus/content/groups/public 修改為安全協(xié)議地址 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";
后失敗,出現(xiàn)如下報錯的,可以嘗試不修改,使用默認的(會比較慢,等比較久)
其他報錯 2 Execution failed for task ‘:app:checkDebugAarMetadata’. Could not resolve all dependencies for configuration ‘:app:debugRuntimeClasspath’.
這是在新電腦中,在進行 1、2、4 配置之后進行 5 配置,啟動 Flutter 項目出現(xiàn)了如下報錯
自己粗心導致如下報錯
該報錯的原因是 maven { url '...' }
中使用的地址存在非安全協(xié)議地址,flutter 不支持在沒有明確選擇加入的情況下對存儲庫使用不安全的協(xié)議,因此將非安全協(xié)議地址修改為安全協(xié)議地址即可
其他報錯 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
后失敗,出現(xiàn)如下報錯的,可以嘗試不修改,使用默認的(會比較慢,等比較久)
對于上述方法,我是成功了,就是第一次等的還是有點久,使用的 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文章來源:http://www.zghlxwxcb.cn/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
文章來源地址http://www.zghlxwxcb.cn/news/detail-854953.html
到了這里,關于修改Flutter3.19.2SDK的鏡像源為國內鏡像源 解決一直卡在Running Gradle task ‘assembleDebug‘與Executfailed for task ‘app:x‘的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!