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

Android Stduio创建Flutter项目的时候,会出现各种问题,踩了一个又一个,最后编译的时候可能会出现一直显示Running Gradle task 'assembleDebug'然后就不动了,或者会显示Could not resolve io.flutter等问题,归根结底是网络无法访问到Google服务引起的,两种解决方案:

1.具有比较良好的访问谷歌的网络环境

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 'http://maven.aliyun.com/nexus/content/groups/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
    }
}

第二处配置:

class FlutterPlugin implements Plugin<Project> {
//注释
    // 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 'http://maven.aliyun.com/nexus/content/groups/public' }
            }
        }

最后一处,项目中的配置,修改Flutter项目下的android下的build.gradle:

buildscript {
    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 'http://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 'http://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 'http://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 'http://maven.aliyun.com/nexus/content/groups/public' }
    maven {
        url "$storageUrl/download.flutter.io"
    }
}

以上内容是自己经过实践总结所得,在此做个记录!

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/108810701