flutter初体验demo踩坑指南

简介: 用flutter开发app客户端遇到的各种问题和解决办法

New Flutter Project 创建项目不成功

报错提示:Flutter create command was unsuccessful,然后打开项目文件里面就一个 .idea 文件夹,项目压根没创建成功。这个问题就是 flutter 没弄好,跟着下面一个问题就能解决了。

执行 flutter 命令,cmd终端直接闪退

按步骤下载了 flutter 的最新SDK文件(3.0.1版本,2022/5/20发布),也添加好了系统环境变量 path,在终端运行 where flutter dart 没问题,但是一运行 flutter doctor 命令时直接闪退了

解决办法

去放 flutter SDK文件的目录下运行 flutter doctor(直接在那个目录顶部的路径输入框输 cmd,小黑窗执行路径就会直接是当前目录)。等都设置好了,直接在默认的 C:\Users\Administrator> 里运行 flutter doctor 就不闪退了。

Visual Studio not installed

成功运行 flutter doctor 后又发现报错提示:

::: danger
Visual Studio not installed
this is necessary for Windows development.
Download at https://visualstudio.microsoft.com/downloads/.
Please install the "Desktop development with C++" workload, including all of its default components
:::

晃眼一看以为是去 vscode 搜索安装 flutter 插件,心想这玩意咱熟悉呀,安装了重启 vscode,眼睛一闭一睁,flutter doctor 依然报错,才发现人让安装的是 Visual Studio(* 适用于 Windows 上 .NET 和 C++ 开发人员的最佳综合 IDE。 完整打包了一系列丰富的工具和功能,可提升和增强软件开发的每个阶段),并不是我们每天都在用的那个蓝色图标的 Visual Studio Code。

下载安装 Visual Studio,选中“使用C++的桌面开发”和“使用C++的移动开发”,这东西安装有点费内存:
1.png

这个报错其实不管不安装 Visual Studio 也没问题的,直接安装好 Android Studio 打开,安装 flutter 和 dart 插件,设置好安卓模拟器设备,然后 New Flutter Project 等待一会,再运行 main.dart 就能跑起来那个计数器 demo 应用了:
2.png

HTTP host "https://maven.google.com/" is not reachable. Reason: An error occurred while checking the HTTP host:信号灯超时时间已到

这个需要修改 https://maven.google.com/ 到国内的镜像源,如果不改 demo 也能跑起来。

解决步骤

  1. 找到放置 flutter SDK文件目录,打开 flutter\packages\flutter_tools\lib\src\http_host_validator.dart,注意不同的版本这个文件有可能不一样,我的是 windows10 上安装的 flutter3.0.1
  2. 将里面的 https://maven.google.com/ 修改为 https://maven.aliyun.com/repository/google,也可以修改为其他的国内镜像源,只要能访问就行
  3. 找到 flutter\bin 目录,删除里面的 cache 文件夹
  4. 重新打开 cmd 小黑窗,运行 flutter doctor 检验一下

修改国内仓库源

需要修改两个地方:

  • Flutter SDK,2023年8月最新版的在 flutter\packages\flutter_tools\gradle\src\main\groovy\flutter.groovy 文件里
  • 项目里的 android\gradle.properties 文件,里面 buildscript 和 allprojects 这两个地方的都改了

直接将 google() 和 mavenCentral() 注释掉,改成:

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/repository/public' }
}
相关文章
|
3月前
|
Dart 对象存储 Android开发
带你阅读 Flutter Demo(flutter 保姆级入门教程)
带你阅读 Flutter Demo(flutter 保姆级入门教程)
138 0
|
Android开发
android和Flutter的混合工程Demo
Flutter和Android混合工程的启动逻辑与纯Flutter应用程序的启动逻辑略有不同。在混合工程中,您需要在Android项目中添加一些额外的代码来启动Flutter引擎并加载Flutter代码。以下是整个app的启动逻辑的详细解释
android和Flutter的混合工程Demo
|
Dart 前端开发 JavaScript
|
存储 Dart 前端开发
Day05 - Flutter开发初体验
Day05 - Flutter开发初体验
146 0
Day05 - Flutter开发初体验
|
Unix Linux 开发工具
Linux 对 Flutter 进行版本切换小结 --《我的linux初体验》
《我的linux初体验》之通过 Linux 命令行对本地 Flutter 不同版本之间进行切换!
276 0
Linux 对 Flutter 进行版本切换小结 --《我的linux初体验》
|
3月前
|
监控 Dart 安全
创建一个Dart应用,监控局域网上网记录的软件:Flutter框架的应用
在当今数字时代,网络安全变得愈发重要。为了监控局域网上的上网记录,我们可以借助Flutter框架创建一个强大的Dart应用。在这篇文章中,我们将深入讨论如何使用Flutter框架开发这样一个监控局域网上网记录的软件,并提供一些实用的代码示例。
277 1
|
4天前
|
存储 缓存 开发框架
Flutter的网络请求:使用Dart进行HTTP请求的技术详解
【4月更文挑战第26天】了解Flutter网络请求,本文详述使用Dart进行HTTP请求
|
4天前
|
开发框架 Dart Java
Flutter的核心:Dart语言基础——语法与特性深度解析
【4月更文挑战第26天】Flutter框架背后的Dart语言,以其简洁的语法和独特特性深受开发者喜爱。本文深入解析Dart的语法与特性,如类型推导、动态静态类型系统、统一的类接口、访问权限控制以及并发编程支持。了解并掌握Dart,能助开发者更高效地利用Flutter构建高性能移动应用。
|
2月前
|
Dart JavaScript
Flutter - Dart 基础(数据类型)
【2月更文挑战第3天】
67 1