Flutter是谷歌出品的移动应用SDK,性能卓越、体验精美、跨平台、HotReload等等这些特点。

Dart是谷歌推出的编程语言。支持即时编译JIT(Just In Time)、HotReload(热加载)和事前编译AOT(Ahead of Time)。

所以搜索语法要用dart。

一、下载

二、环境变量

PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn 注意:这两个环境变量一定要加,否则可能导致后面 flutter doctor 命令连接不上服务

三、安装

安装git

安装android studio

会让你下载SDK,记一下路径,然后配置到环境变量中。

ANDROID_HOME = Android sdk路径

如果忘记了或者没记或者跳过了安装安卓SDK的步骤:

安装Flutter SDK

把之前下载的SDK直接解压。

比如我的是:C:\sdk\flutter

然后把bin目录配置到环境变量中:

C:\sdk\flutter\bin

打开cmd检测下:

flutter --version 查看是否安装成功
flutter -h 能够展示指令,表示安装配置成功

四、flutter doctor 环境检测

在前面都安装完后,才是正式安装的开始。

打开cmd,运行 flutter doctor

这是运行成功的例子,那么哪个不对改哪里。

4.1 安卓SDK下载不了

AppData\\Roaming\\Google 下缓存删掉

4.2 HTTP Host availability check is taking a long time...

  1. 找到flutter sdk的文件目录,依次找到flutter/packages/flutter_tools/lib/src/http_host_validator.dart文件
  2. https://maven.google.com/ 修改为https://dl.google.com/dl/android/maven2/
  3. 关闭所有打开了flutterSDK的程序,找到flutter\bin目录下的flutter_tools.snapshot文件,删除。
  4. 重新打开cmd,再试。(注意要重新打开)

4.3 Windows Version (Unable to confirm if installed Windows version is 10 or greater)

  1. 打开:\packages\flutter_tools\lib\src\windows\windows_version_validator.dart
  2. 直接替换:
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. import 'package:process/process.dart'; import '../base/io.dart';
import '../doctor_validator.dart'; // FIX #1 - Remove everything from line 10 to 20 in original source code. /// Validator for supported Windows host machine operating system version.
class WindowsVersionValidator extends DoctorValidator {
const WindowsVersionValidator({required ProcessManager processManager})
: _processManager = processManager,
super('Windows Version'); final ProcessManager _processManager; @override
Future<ValidationResult> validate() async { // FIX #2 - Replace 'systeminfo' by 'ver' command
final ProcessResult result =
await _processManager.run(<String>['ver'], runInShell: true); if (result.exitCode != 0) {
return const ValidationResult(
ValidationType.missing,
<ValidationMessage>[],
statusInfo: 'Exit status from running `systeminfo` was unsuccessful',
);
} final String resultStdout = result.stdout as String; // FIX #3 - Remove brackets from output
final String resultAdjusted = resultStdout.replaceAll('[','').replaceAll(']',''); // FIX #4 - Split the output at spaces, and get Windows version at position 3.
// Split again at dots and get the major version at position 0.
// Cast the output to int.
final int winver = int.parse(resultAdjusted.split(' ').elementAt(3).split('.').elementAt(0)); // Use the string split method to extract the major version
// and check against the [kUnsupportedVersions] list
final ValidationType windowsVersionStatus;
final String statusInfo; // FIX #5 - Check if Windows major version is greater than 10.
// Succeeds if true.
if (winver >= 10) {
windowsVersionStatus = ValidationType.installed;
statusInfo = 'Installed version of Windows is version 10 or higher';
} else {
windowsVersionStatus = ValidationType.missing;
statusInfo =
'Unable to confirm if installed Windows version is 10 or greater';
} return ValidationResult(
windowsVersionStatus,
const <ValidationMessage>[],
statusInfo: statusInfo,
);
}
}
  1. 删除文件:\bin\cache\flutter_tools.stamp
  2. 重新打开cmd,再试。(注意要重新打开)

4.4 如果不在PC上运行,Visual Studio 不用管。

4.5 android-licenses

这个是需要同意一下协议。

flutter doctor --android-licenses
然后全部同意就行了。

五、使用

5.1 找不到dart sdk

C:\\sdk\\flutter\\bin\\cache\\dart-sdk

5.2 卡在Running Gradle task 'assembleDebug'

属于网络问题,国内对一些镜像是有墙的,换一下就行。你自己翻也行。

  1. 打开flutter\packages\flutter_tools\gradle\flutter.gradle
  2. 改:
private static final String DEFAULT_MAVEN_HOST = "https://storage.googleapis.com";

改成:

"https://storage.flutter-io.cn";
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/groups/public' }
//google()
//mavenCentral()
} dependencies {
classpath 'com.android.tools.build:gradle:7.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
} allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { allowInsecureProtocol = true
url 'http://maven.aliyun.com/nexus/content/groups/public' }
//google()
//mavenCentral()
}
}
  1. 重新编译运行即可。

项目文件中android/build.gradle也有相关配置,改一下也可以,即只对项目生效。

5.3 Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven...

这是因为上一个问题中:allowInsecureProtocol = true没有加,或者路径没有加https。

六、总结

Flutter使用的是谷歌生态,所以有很多网络不通的情况,如果编译卡住了,可以首先怀疑是网络墙了。

这是我个人安装过程中的一些问题,如果还有其他问题,欢迎评论补充。如果有不对的,或者试了没有效果的,也欢迎指正。

windows下flutter的环境安装的更多相关文章

  1. windows下的python环境安装

    windows下python开发环境的搭建还是很方便的 python本体的下载可以通过官方渠道,也可以通过windows应用商店,这里推荐后者,因为前者还要设置环境变量,而且我设置了之后cmd下也没有 ...

  2. Windows下Hadoop的环境安装[转]

    1.下载并安装Cygwin,记得cygwin安装中要把SSH选择上,因为后面Hadoop会用到,不详述cygwin的安装过程.我是安装在D:\cygwin下 2.配置系统环境变量 在windows命令 ...

  3. windows 下的bash 环境安装npm

    1.Git下载 node.js下载2.安装 git 和 node.js3.将git\bin node.js安装目录加入环境变量path中4.在D盘下建立目录gitrep    打开Git Bash初始 ...

  4. Windows下Java开发环境安装与配置

    1. 前往Oracle网站下载JDK程序并安装. http://www.oracle.com/technetwork/java/javase/downloads/index.html 目前最新的版本为 ...

  5. [转]phoneGap3.0安装步骤(以windows下的android环境为例):

    phoneGap3.0安装步骤(以windows下的android环境为例): 环境: WIN系统,JDK,Android,Eclipse,Ant,Git,PhoneGap3.x (Cordova) ...

  6. windows下配置lamp环境(1)---安装Apache服务器2.2.25

    window下lamp成为wamp; 安装wamp环境的第一步是安装Apache服务器.下面开始安装步骤图文并茂. 一.双击安装包点“next”进行下一步,然后同意协议(这张图没有截):

  7. Android学习——windows下搭建Cygwin环境

    在上一篇博文<Android学习——windows下搭建NDK_r9环境>中,我们详细的讲解了在windows下进行Android NDK开发环境的配置,我们也讲到了在NDk r7以后,我 ...

  8. Android学习——windows下搭建NDK_r9环境

    1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...

  9. Windows下搭建PHP环境:Apache+PHP+MySQL

    本文简单记录一下Windows下搭建PHP环境的过程,一些细节可以参照本文参考资料,此文不再赘述 准备工作: Windows下手工搭建PHP环境需要先下载相应的软件,需要注意的是Apache与PHP的 ...

  10. Win7下Python2.7环境安装paramiko模块

    Win7下Python2.7环境安装paramiko模块,经过安装并测试成功,整理文档如下: 1.下载安装Windows版本的Python2.7,我默认装在C:\Python27 我的python已经 ...

随机推荐

  1. mac -bash: ls: No such file or directory

    再mac 输入ls 竟然提示我 如图其他到命令都不能用了??? 网上找了大半天.看见这种类似的很多,但是最后都不是我要的答案,最后没辙,注销用户,重新登陆,问题没有了,也不知道是不是mac的bug:有 ...

  2. 自定义组件模拟v-model

    在项目中常常会遇到一个组件中引入好几个子组件的情况,而引入的子组件和子组件之间又需要有数据交互,如果使用父组件作为桥梁进行数据交互这个也是可以的,只是有些麻烦,so最理想的是子组件和子组件自己去交互, ...

  3. 浅析HTTPS的通信机制

    什么是HTTPS? HTTPS 是在HTTP(Hyper Text Transfer Protocol)的基础上加入SSL(Secure Sockets Layer),在HTTP的基础上通过传输加密和 ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (27)-- 算法导论5.1 2题

    二.请描述 RANDOM(a,b)过程的一种实现,它只调用 RANDOM(0,1).作为a和b的函数,你的过程的期望运行时间是多少? 文心一言: 假设我们有一个伪随机数生成器,可以生成在[0,1)范围 ...

  5. vue 自己实现一套 keepalive 方案

    vue自定义keepalive组件 前一阵来了一个新的需求,要在vue项目中实现一个多开tab页面的功能,本来心想,这不简单嘛就是一个增加按钮重定向吗?(当然如果这么简单我就不写这个文章了).很快写完 ...

  6. docker构建FreeSWITCH编译环境及打包

    操作系统 :CentOS 7.6_x64      FreeSWITCH版本 :1.10.9 Docker版本:23.0.6   FreeSWITCH这种比较复杂的系统,使用容器部署是比较方便的,今天 ...

  7. ndk std_thread 获取pid

    本文链接 https://www.cnblogs.com/wanger-sjtu/p/16817532.html 最近在解决tvm绑核问题时,发现android下绑核只有sched_setaffini ...

  8. 基于VAE的风险分析:基于历史数据的风险分析、基于实时数据的风险分析

    目录 引言 随着人工智能和机器学习的发展,风险分析已经成为许多行业和组织中不可或缺的一部分.传统的基于经验和规则的风险分析方法已经难以满足现代风险分析的需求,因此基于VAE的风险分析方法逐渐成为了主流 ...

  9. TransformersandNLPforVideoUnderstanding

    目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 <Transformers and NLP for Video Understanding> 1 ...

  10. 自己动手实现rpc框架(一) 实现点对点的rpc通信

    自己动手实现rpc框架(一) 实现点对点的rpc通信 1. 什么是rpc? RPC是远过程调用(Remote Procedure Call)的缩写形式,其区别于一个程序内部基本的过程调用(或者叫函数/ ...