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' }
}
目录
相关文章
|
2月前
|
开发者 UED
flutter:demo (七)
在移动应用开发中,用户界面的布局设计是提升用户体验的关键要素。Flutter作为一个强大的UI框架,提供了多种布局组件,使开发者能够灵活地构建复杂的用户界面模块。无论是线性布局(如Column和Row)还是非线性布局(如Stack和Wrap),Flutter的布局系统都允许开发者以简洁的方式组织和组合界面元素。
|
7月前
|
Dart 对象存储 Android开发
带你阅读 Flutter Demo(flutter 保姆级入门教程)
带你阅读 Flutter Demo(flutter 保姆级入门教程)
833 0
|
Android开发
android和Flutter的混合工程Demo
Flutter和Android混合工程的启动逻辑与纯Flutter应用程序的启动逻辑略有不同。在混合工程中,您需要在Android项目中添加一些额外的代码来启动Flutter引擎并加载Flutter代码。以下是整个app的启动逻辑的详细解释
android和Flutter的混合工程Demo
|
Dart 前端开发 JavaScript
|
存储 Dart 前端开发
Day05 - Flutter开发初体验
Day05 - Flutter开发初体验
180 0
Day05 - Flutter开发初体验
|
Unix Linux 开发工具
Linux 对 Flutter 进行版本切换小结 --《我的linux初体验》
《我的linux初体验》之通过 Linux 命令行对本地 Flutter 不同版本之间进行切换!
338 0
Linux 对 Flutter 进行版本切换小结 --《我的linux初体验》
|
2月前
|
Android开发 iOS开发 容器
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
|
28天前
|
开发框架 Dart 前端开发
Flutter 是谷歌推出的一款高效跨平台移动应用开发框架,使用 Dart 语言,具备快速开发、跨平台支持、高性能、热重载及美观界面等特点。
Flutter 是谷歌推出的一款高效跨平台移动应用开发框架,使用 Dart 语言,具备快速开发、跨平台支持、高性能、热重载及美观界面等特点。本文从 Flutter 简介、特点、开发环境搭建、应用架构、组件详解、路由管理、状态管理、与原生代码交互、性能优化、应用发布与部署及未来趋势等方面,全面解析 Flutter 技术,助你掌握这一前沿开发工具。
56 8
|
28天前
|
存储 JavaScript 前端开发
在Flutter开发中,状态管理至关重要。随着应用复杂度的提升,有效管理状态成为挑战
在Flutter开发中,状态管理至关重要。随着应用复杂度的提升,有效管理状态成为挑战。本文介绍了几种常用的状态管理框架,如Provider和Redux,分析了它们的基本原理、优缺点及适用场景,并提供了选择框架的建议和使用实例,旨在帮助开发者提高开发效率和应用性能。
35 4
下一篇
DataWorks