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' }
}
相关文章
|
6天前
|
Dart 对象存储 Android开发
带你阅读 Flutter Demo(flutter 保姆级入门教程)
带你阅读 Flutter Demo(flutter 保姆级入门教程)
157 0
|
Android开发
android和Flutter的混合工程Demo
Flutter和Android混合工程的启动逻辑与纯Flutter应用程序的启动逻辑略有不同。在混合工程中,您需要在Android项目中添加一些额外的代码来启动Flutter引擎并加载Flutter代码。以下是整个app的启动逻辑的详细解释
android和Flutter的混合工程Demo
|
Dart 前端开发 JavaScript
|
存储 Dart 前端开发
Day05 - Flutter开发初体验
Day05 - Flutter开发初体验
148 0
Day05 - Flutter开发初体验
|
Unix Linux 开发工具
Linux 对 Flutter 进行版本切换小结 --《我的linux初体验》
《我的linux初体验》之通过 Linux 命令行对本地 Flutter 不同版本之间进行切换!
283 0
Linux 对 Flutter 进行版本切换小结 --《我的linux初体验》
|
6天前
|
缓存 监控 前端开发
【Flutter 前端技术开发专栏】Flutter 应用的启动优化策略
【4月更文挑战第30天】本文探讨了Flutter应用启动优化策略,包括理解启动过程、资源加载优化、减少初始化工作、界面布局简化、异步初始化、预加载关键数据、性能监控分析以及案例和未来优化方向。通过这些方法,可以缩短启动时间,提升用户体验。使用Flutter DevTools等工具可助于识别和解决性能瓶颈,实现持续优化。
【Flutter 前端技术开发专栏】Flutter 应用的启动优化策略
|
4天前
|
前端开发 C++ 容器
Flutter-完整开发实战详解(一、Dart-语言和-Flutter-基础)(1)
Flutter-完整开发实战详解(一、Dart-语言和-Flutter-基础)(1)
|
5天前
|
Android开发
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析
|
5天前
|
XML Dart Java
Flutter插件开发之APK自动安装,字节跳动Android岗面试题
Flutter插件开发之APK自动安装,字节跳动Android岗面试题