Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。

开发环境

windows10

安装Flutter

获取Flutter SDK

  1. 官网下载
  2. github直接拉取代码(推荐使用)

环境变量配置

要在终端运行 flutter 命令, 你需要添加以下环境变量到系统PATH:

  1. 转到 “控制面板>用户帐户>用户帐户>更改我的环境变量”
  2. 在“用户变量”下检查是否有名为“Path”的条目:
    • 如果该条目存在, 追加 flutter\bin的全路径,使用 ; 作为分隔符.
    • 如果条目不存在, 创建一个新用户变量 Path ,然后将flutter\bin的全路径作为它的值.
  3. 在“用户变量”下检查是否有名为”PUB_HOSTED_URL”和”FLUTTER_STORAGE_BASE_URL”的条目,如果没有,也添加它们。两者的值如下
PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
复制代码

运行 flutter doctor

运行flutter doctor ,如果没有没有任何报错,那么恭喜你,你之前已经集成了相关的环境,可以直接进行开发了。但是,如果没有安装过android-sdk 和 java-sdk 环境的朋友一定会报错,那么就需要继续了。

安装java-sdk

android-sdk的安装需要依赖java-sdk,所以需要安装java-sdk,具体的安装方法网上已经有很多了,在此不再赘述。

安装android-sdk

同样,android-sdk亦不再赘述。但是尽量翻墙下载sdk而不要使用国内的镜像,因为设置代理以后,flutter的部分请求会被拦截转发到国内的镜像上而导致程序无法运行(这个坑我找了很久)

处理各种问题

运行 flutter doctor 来检查环境是否已经搞定,正常来说成功了。下面列举了一些可能会出现的问题和解决方法供大家参考

  1. Android license status unknown.
<!--执行-->
flutter doctor --android-licenses
<!--情况1-->
如果是询问你是否接受的,那么一直 y 下去即可
例如:
Review licenses that have not been accepted (y/N)? y
最后再次运行 flutter doctor
<!--情况2-->
A newer version of the Android SDK is required. To update, run:
C:\Users\tdmil\AppData\Local\Android\sdk\tools\bin\sdkmanager --update
执行(当然这个路径是根据你的sdk路径变化的)
C:\Users\tdmil\AppData\Local\Android\sdk\tools\bin\sdkmanager --update<!--情况2.1-->成功,执行 flutter doctor --android-licenses 一般就会出现情况1<!--情况2.2-->Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchemaat com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchemaat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)... 5 more这种情况一般是java的环境配置有问题,建议检查java环境<!--情况2.3-->其他更新错误将 \sdk\tools 文件夹重命名 改为 \sdk\tool运行 C:\Users\tdmil\AppData\Local\Android\sdk\tool\bin\sdkmanager --update更新完成后会新生成一个tools文件夹,将tools文件夹内的所有文件复制到 tool 内,重复的覆盖即可,删掉tools ,将tool 改回 tools 执行 flutter doctor --android-licenses
复制代码
  1. services.gradle.org/distributio… 文件下载失败 直接通过浏览器下载该文件,然后在 android/gradle/wrapper中打开 gradle-wrapper.properties 文件 修改 distributionUrl='你下载后文件存放的路径'
  2. 代理问题 如果你在android studio中设置了android-sdk的国内镜像代理,那么一定会出现问题,因为这些代理会将一些其他的请求拦截掉,导致你的项目无法正常运行,而且就算你关掉代理,仍然不会成功,因为需要删除代理配置文件下的请求代理数据,文件位于你的android-sdk安装路径下,e:\android-sdk\tools\apps\SdkController\project.properties

总结

在配置Flutter开发环境的过程中,前前后后遇到了很多坑,个人建议如果能翻墙,还是不要设置各种代理,因为很可能某个代理转发了正常的请求而导致某些未知的问题。同时出现问题,建议去Flutter的issue内搜索,其中已经包含了很多常见的错误解决方式。

Flutter安装和踩坑指南(windows)相关推荐

  1. 安装 JupyterHub 踩坑指南 —— 如何通过 JupyterHub 实现多用户管理

    安装 JupyterHub 踩坑指南 JupyterHub 简介 Jupyter Notebook and JupyterLab Jupyter Notebook 简介 JupyterLab 简介 安 ...

  2. helm3安装mysql_Helm3(kubernetes包管理工具)安装使用踩坑指南

    image.png 从结构中我们看到有不同级别的文件夹,以及一些yaml文件. charts: 用于存放其他依赖和关联的chart.例如应用依赖数据库的chart. Chart.yaml:存储一些元数 ...

  3. windows系统安装docker版本davinci达芬奇踩坑指南

    本文讲解windows系统如何安装docker版开源软件davinci(数据可视化web服务),并指出一系列的踩坑指南. 达芬奇github地址   https://github.com/edp963 ...

  4. openssl开发库安装时的踩坑指南

    序 前几天用linux编译一个提权脚本的时候报错 openssl/opensslv.h: 没有那个文件或目录 的问题 无论如何也解决不了,这下我记录一个踩坑指南防止下一个人掉进坑里 操作 总体介绍 首 ...

  5. android手机屏幕共享神器踩坑指南

    开源项目地址:https://github.com/Genymobile/scrcpy scrcpy,由 Genymobile 推出的可跨平台的.可自定义码率的.开源的屏幕共享工具.它提供了在 USB ...

  6. Manjaro KDE 18.1.2踩坑指南(含双显卡黑屏解决方案)

    Manjaro KDE 18.1.3踩坑指南(含双显卡黑屏解决方案) 一.前言 用了win10那么久,对于windows环境特别厌恶,处处商业化严重的软件及广告,还有杀不完的病毒,更不完的新,感觉电脑 ...

  7. weex 一个传说级巨坑-- 2018最新版weex踩坑指南(weex navigator 多界面跳转)

    先说结论,本人极度非常 不推荐weex作为任何商用开发 有很多人会说了... 你瞎扯.. 你看别人阿里.. 啊飞猪... 啊那个支付宝... 人家不是用得好好的么... 当然这也是我们公司作为技术选型 ...

  8. pytorch .item_从数据到模型,你可能需要1篇详实的pytorch踩坑指南

    原创 · 作者 | Giant 学校 | 浙江大学 研究方向 | 对话系统.text2sql 熟悉DL的朋友应该知道Tensorflow.Pytorch.Caffe这些成熟的框架,它们让广大AI爱好者 ...

  9. Git Commit Message校验踩坑指南

    背景 在团队多人开发中,规范的commit message可以快速定位代码提交历史,回溯问题根源,方便组内多人协作,提高团队效率. 本篇文章主要包含以下两方面内容: commitizen/cz-cli ...

最新文章

  1. 【MongoDB】MongoDB备份方法
  2. sprint计划会议
  3. C++ throw:抛出自己的异常
  4. 软件工程项目之摄影App
  5. 山东栋梁机器人比赛_谁是最强“移动机器人”?来深技师这场全国大赛一决高下!...
  6. MATLAB无边框输出图像
  7. mybatis 鉴别其_MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询
  8. sql tempdb清理_SQL Server TempDB数据库和闩锁争用
  9. 密码保护(2017.12.22)
  10. python怎样编写定时程序_如何用Python写一个每分每时每天的定时程序
  11. imx6ull开发板
  12. 【WPF】屏幕录像、摄像头录像
  13. 计算机毕业设计ssm网上花店系统0716c系统+程序+源码+lw+远程部署
  14. 「科技与安全」RK3568J核心板让隔离网闸更强大
  15. QT_下拉选项框_Combo Box_使用
  16. 多官能度可聚会型光引发剂(图文说明)
  17. 密码学概述与基本加密方式
  18. 选择CDN服务商的综合因素
  19. C#JSON文件操作
  20. 专访爱驰汽车李海军:数据资产是整车企业的核心密码

热门文章

  1. 基于8086CPU微处理器的汇编学习之JMP指令
  2. 李炎恢老师Dreamweaver视频课程(53课时)[已完结]
  3. 超级终端设置-基本配置(华为)
  4. 驯服 Tiger: 并发集合
  5. 0057-简单的累加
  6. Vue实战:音乐播放器(一) 页面效果
  7. 新功能:阿里云负载均衡SLB支持HTTP/HTTPS超时时间自定义功能
  8. 允许Sublime编辑器在Ubuntu上输入中文
  9. Android架构:认识简法设计与EIT软件造形(序)
  10. [转] Mac os x 使用ftp