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' }
}
目录
相关文章
|
1月前
|
开发者 UED
flutter:demo (七)
在移动应用开发中,用户界面的布局设计是提升用户体验的关键要素。Flutter作为一个强大的UI框架,提供了多种布局组件,使开发者能够灵活地构建复杂的用户界面模块。无论是线性布局(如Column和Row)还是非线性布局(如Stack和Wrap),Flutter的布局系统都允许开发者以简洁的方式组织和组合界面元素。
|
6月前
|
Dart 对象存储 Android开发
带你阅读 Flutter Demo(flutter 保姆级入门教程)
带你阅读 Flutter Demo(flutter 保姆级入门教程)
725 0
|
Android开发
android和Flutter的混合工程Demo
Flutter和Android混合工程的启动逻辑与纯Flutter应用程序的启动逻辑略有不同。在混合工程中,您需要在Android项目中添加一些额外的代码来启动Flutter引擎并加载Flutter代码。以下是整个app的启动逻辑的详细解释
android和Flutter的混合工程Demo
|
Dart 前端开发 JavaScript
|
存储 Dart 前端开发
Day05 - Flutter开发初体验
Day05 - Flutter开发初体验
178 0
Day05 - Flutter开发初体验
|
Unix Linux 开发工具
Linux 对 Flutter 进行版本切换小结 --《我的linux初体验》
《我的linux初体验》之通过 Linux 命令行对本地 Flutter 不同版本之间进行切换!
335 0
Linux 对 Flutter 进行版本切换小结 --《我的linux初体验》
|
1月前
|
Android开发 iOS开发 容器
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
|
1月前
|
开发者
鸿蒙Flutter实战:07-混合开发
鸿蒙Flutter混合开发支持两种模式:1) 基于har包,便于主项目开发者无需关心Flutter细节,但不支持热重载;2) 基于源码依赖,利于代码维护与热重载,需配置Flutter环境。项目结构包括AppScope、flutter_module等目录,适用于不同开发需求。
74 3
|
18天前
|
传感器 开发框架 物联网
鸿蒙next选择 Flutter 开发跨平台应用的原因
鸿蒙(HarmonyOS)是华为推出的一款旨在实现多设备无缝连接的操作系统。为了实现这一目标,鸿蒙选择了 Flutter 作为主要的跨平台应用开发框架。Flutter 的跨平台能力、高性能、丰富的生态支持和与鸿蒙系统的良好兼容性,使其成为理想的选择。通过 Flutter,开发者可以高效地构建和部署多平台应用,推动鸿蒙生态的快速发展。
135 0