【Android】Flutter3.35项目启动超时问题

任何需要拉依赖的项目都会因不能直接访问外网被困扰,遇到超时没反应可以梳理下项目中各个需要拉依赖的项,为之仓库源改成国内镜像来解决。

1 前置条件

flutter:3.35.1 stable

Dart:3.9.0

jdk:17

AGP:≥8.9

2 省流照抄

2.1 环境变量

2.1.1 系统变量配置

变量名 备注
JAVA_HOME D:\Develop\Java\jdk17
PUB_HOSTED_URL https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL https://storage.flutter-io.cn
FLUTTER_GIT_URL https://gitee.com/mirrors/Flutter.git
FLUTTER_HOME D:\Develop\Flutter\flutter
GRADLE_USER_HOME D:\Develop\AndroidStudio.gradle 非必须
PUB_CACHE D:\Develop\Flutter\DartCahes 非必须
ANDROID_AVD_HOME D:\Develop\AndroidStudio\AVD 非必须

2.1.2 系统Path新增项

text 复制代码
%JAVA_HOME%\bin
%FLUTTER_HOME%\bin
%GRADLE_USER_HOME% (非必须)
D:\Develop\AndroidStudio\sdk\platform-tools (非必须)

2.2 Gradle 发行版下载地址

项目路径\android\gradle\wrapper\gradle-wrapper.properties

properties 复制代码
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
# 默认distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip
distributionUrl=https\://mirrors.aliyun.com/gradle/distributions/v8.12.0/gradle-8.12-all.zip

2.3 Gradle 插件和项目依赖的仓库源

项目路径\android\settings.gradle.kts

kotlin 复制代码
pluginManagement {
//...其余不变
    repositories {
        // 插入下面国内镜像放在最前面
        maven { url = uri("https://maven.aliyun.com/repository/google") }
        maven { url = uri("https://maven.aliyun.com/repository/public") }
        maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }

        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
//...其余不变

flutter3.16之后的版本创建项目默认是KotlinDSL,与之前GroovyDSL的仓库配置语法有异,如果你的项目中不是\android\settings.gradle.kts而是\android\settings.gradle文件应参考: Gradle插件下载源配置

3 解决过程记录

新搭了一套安卓开发环境创建flutter项目,做了前面第二章节的周全配置,但初始化启动还是遇见下面问题

java 复制代码
Launching lib\main.dart on 运行设备名称 in debug mode...
Running Gradle task 'assembleDebug'...

项目在初始化第一件事会启动或下载Gradle发行版,所以先确认Gradle发行版的依赖信息

在\android\gradle\wrapper\gradle-wrapper.properties中:

复制代码
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip

这个外网的源肯定没法直接拉下来,让豆包给我提供了阿里的

复制代码
distributionUrl=https\://mirrors.aliyun.com/gradle/distributions/gradle-8.12-all.zip

重新运行开始报空指针,亲自打开路径确认了一下

发现有效链接应该是带版本号的https\://mirrors.aliyun.com/gradle/distributions/v8.12.0/gradle-8.12-all.zip!!!

:RZ豆包。。。

修改后重新运行,在路径下看到zip包成功拉下来了,但是日志还是没变:

java 复制代码
Launching lib\main.dart on 运行设备名称 in debug mode...
Running Gradle task 'assembleDebug'...

终端输入.\gradlew assembleDebug --info查看详细日志,

log 复制代码
PS > cd android
PS \android > .\gradlew assembleDebug --info

Welcome to Gradle 8.12!
省略一万字
> Configure project :gradle
Evaluating project ':gradle' using build file 'D:\Develop\Flutter\flutter\packages\flutter_tools\gradle\build.gradle.kts'.
Resolved plugin [id: 'org.gradle.java-gradle-plugin']
Resolved plugin [id: 'org.gradle.groovy']
Resolved plugin [id: 'org.gradle.kotlin.kotlin-dsl', version: '5.1.2']
Resolved plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.9.20']
Downloading https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-gradle-plugin/2.0.21/kotlin-gradle-plugin-2.0.21-gradle85.jar to D:\Develop\AndroidStudio\.gradle\.tmp\gradle_download14173743570445407172bin
<-------------> 0% INITIALIZING [4m 31s]
> Evaluating settings > :gradle > Resolve files of configuration 'classpath' > kotlin-gradle-plugin-2.0.21-gradle85.jar > 3.6 MiB/14.2 MiB downloade

从日志中看到gradle8.12毫无疑问ok了,导致现在卡住的问题是访问 plugins.gradle.org下载kotlin-gradle-plugin/2.0.21/...超时

项目路径\android\settings.gradle.kts中为Gradle 插件和项目依赖添加有效源:

kotlin 复制代码
pluginManagement {
//...其余不变
    repositories {
        // 插入下面国内镜像放在最前面
        maven { url = uri("https://maven.aliyun.com/repository/google") }
        maven { url = uri("https://maven.aliyun.com/repository/public") }
        maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }

        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
//...其余不变

初始化运行成功!

log 复制代码
BUILD SUCCESSFUL in 4m 23s
49 actionable tasks: 48 executed, 1 up-to-date
Watched directory hierarchies: [D:\Develop\Flutter\flutter\packages\flutter_tools\gradle, D:\Develop\AndroidStudio\Projects\fwitter\android]

再看看: AS快速连接MUMU模拟器

相关推荐
怪奇云呼军14 小时前
从声音特征到 CRM 回流:闪电智能 Voice Agent 沟通策略自适应系统 v1 实战
android·人工智能·python·音视频·语音识别
哦哦~92116 小时前
北理工|Composites Part‑A 综述:纤维‑增强复合材料传统成型与增材制造全解析
android·制造·复合材料·增材制造
一笑的小酒馆17 小时前
Android视频直播播放器简单封装
android
工会代表18 小时前
安卓手机搭建SOCKS5代理教程
android
雨白18 小时前
Android AOP 切面编程实战:优雅地处理全局断网拦截
android·架构
梦想的颜色19 小时前
AI 时代小白 VibeCoding 做 APP:UniApp(含 Uni‑X)、Flutter 与 React Native+Expo全维度技术选型对比指南
flutter·react native·app·uniapp·vibecoding·unippx·app产品
huluang20 小时前
专业级安卓现场取证利器:拍照取证(PaiZaoXue),补齐行业取证工具核心短板
android·数码相机
奇特認20 小时前
MySQL集群技术 4.高可用之组复制 (MGR)
android
阿pin20 小时前
Android随笔-SurfaceFlinger
android·surfaceflinger
洋不写bug20 小时前
JavaComparable、Comparator、Cloneable接口解析,深拷贝浅拷贝详细解析
android·java·开发语言