ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

解决Android studio 编译flutter项目 卡在Running Gradle task ‘assembleDebug‘ ——筑梦之路

解决Android studio 编译flutter项目 卡在Running Gradle task ‘assembleDebug‘ ——筑梦之路 用Android Stduio创建Flutter项目的时候会出现各种问题踩了一个又一个最后编译的时候可能会出现一直显示Running Gradle task assembleDebug然后就不动了或者会显示Could not resolve io.flutter等问题归根结底是网络无法访问flutter官方源引起的两种解决方案1.具有比较良好的访问flutter官方源的网络环境2.修改镜像源为国内的找到Flutte SDK目录下的Flutter打包配置文件flutter.gradle路径为flutter\packages\flutter_tools\gradle\flutter.gradle第一处配置buildscript { repositories { //注释 // google() // jcenter() //添加 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 { classpath com.android.tools.build:gradle:3.5.0 } }第二处配置class FlutterPlugin implements PluginProject { //注释 // private static final String MAVEN_REPO https://storage.googleapis.com/download.flutter.io; //添加这行 private static final String MAVEN_REPO https://storage.flutter-io.cn/download.flutter.io; // The platforms that can be passed to the --Ptarget-platform flag. private static final String PLATFORM_ARM32 android-arm; private static final String PLATFORM_ARM64 android-arm64; private static final String PLATFORM_X86 android-x86; private static final String PLATFORM_X86_64 android-x64; // The ABI architectures. private static final String ARCH_ARM32 armeabi-v7a; private static final String ARCH_ARM64 arm64-v8a; private static final String ARCH_X86 x86; private static final String ARCH_X86_64 x86_64;第三处配置void addFlutterDependencies(buildType) { String flutterBuildMode buildModeFor(buildType) if (!supportsBuildMode(flutterBuildMode)) { return } String repository useLocalEngine() ? project.property(local-engine-repo) : MAVEN_REPO project.rootProject.allprojects { repositories { maven { url repository } //添加 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项目下的android下的build.gradlebuildscript { ext.kotlin_version 1.3.50 repositories { // google() // jcenter() 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 { classpath com.android.tools.build:gradle:3.5.0 classpath org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version } } allprojects { repositories { // google() // jcenter() 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 } } }修改完成后再build就可以正常构建了我也查过很多资料网上很多资料要么是gradle构建工具没下载下来下载太慢要么是修改了项目里面的配置要么是修改全局的flutter.gradle配置都还是存在一些问题我通过修改这四处配置成功运行。全局环境变量 PUB_HOSTED_URL https://mirrors.tuna.tsinghua.edu.cn/dart-pub FLUTTER_STORAGE_BASE_URL https://mirrors.tuna.tsinghua.edu.cn/flutter 阿里云的仓库地址 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 SDK 清华大学镜像地址 https://mirrors.tuna.tsinghua.edu.cn/flutter/flutter_infra/releases/stable/修改resolve_dependencies.gradle repositories { //google() //jcenter() 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 } maven { url $storageUrl/download.flutter.io } }以上内容是自己经过实践总结所得在此做个记录-----2022-7-27以上是内容环境是1.x对于2.0以上的执行flutter doctor会报错HTTP host https://maven.google.com/ is not reachable.Reason: An error occurred while checking the HTTP host解决办法修改flutter sdk目录下文件packages\flutter_tools\lib\src\http_host_validator.dart# 1. 找到代码21-24行 /// Android specific required HTTP hosts. const ListString androidRequiredHttpHosts String[ https://maven.google.com/, ]; # 将https://maven.google.com/ 修改为 # https://dl.google.com/dl/android/maven2/或者https://maven.aliyun.com/ /// Android specific required HTTP hosts. const ListString androidRequiredHttpHosts String[ https://maven.aliyun.com/, ]; # 2. flutter sdk bin目录删除cache目录下的flutter_tools.snapshot 文件 # 3. 新开cmd 重新运行flutter doctor参考资料仓库服务flutter | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
返回列表