Flutter安装

Posted ziyue7575

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter安装相关的知识,希望对你有一定的参考价值。

TOC

Flutter安装

  • 操作系统: windows7以上64位操作系统
  • 磁盘空间:大于3G,最好可以达到5G
  • 安装java
  • 安装flutter sdk
  • 虚拟机

安装flutterSDK

安装

进入需要安装flutter的文件夹,打开git bash;
git clone -b master https://github.com/flutter/flutter.git
./flutter/bin/flutter --version

注意:Flutter的下载路径要全英文并且路径不能有空格!Flutter的下载路径要全英文并且路径不能有空格!Flutter的下载路径要全英文并且路径不能有空格!

配置

  • 将bin地址添加到环境变量的path中
    • FLUTTER_STORAGE_BASE_URL:https://storage.flutte-io.cn
  • PUB_HOSTED_URL:https://mirrors.tuna.tsinghua.edu.cn/dart-pub/ 官网是:https://pub.flutter-io.cn
$ export PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub
$ export FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter
  • 运行检查
flutter doctor
  • 没有X之后运行
flutter doctor --android-licenses

一直输入y,完成配置

  • 修改镜像:flutterpackagesflutter_toolsgradleflutter.gradle
buildscript {
    repositories {
        // google()
        // jcenter()
        maven{
              url ‘https://maven.aliyun.com/repository/google‘
          }
          maven{
              url ‘https://maven.aliyun.com/repository/jcenter‘
         }
         maven{
             url ‘http://maven.aliyun.com/nexus/content/groups/public‘
         }
    }
    dependencies {
        classpath ‘com.android.tools.build:gradle:3.5.0‘
    }
}

每一个项目配置

buildscript {
    repositories {
       // google()
        // jcenter()
        maven{
             url ‘https://maven.aliyun.com/repository/google‘
         }
         maven{
             url ‘https://maven.aliyun.com/repository/jcenter‘
         }
         maven{
             url ‘http://maven.aliyun.com/nexus/content/groups/public‘
         }
    }

    dependencies {
        classpath ‘com.android.tools.build:gradle:3.5.0‘
    }
}

allprojects {
    repositories {
        // google()
        // jcenter()
        maven{
              url ‘https://maven.aliyun.com/repository/google‘
          }
          maven{
              url ‘https://maven.aliyun.com/repository/jcenter‘
         }
        maven{
            url ‘http://maven.aliyun.com/nexus/content/groups/public‘
         }
    }
}

升级flutter

  • 方法1:flutter upgrade
  • 方法2:删除旧的sdk,重新下载

vscode搭建环境

安装Dart/Flutter/Flutter Widget Snippets /Awesome Flutter Snippets/Android ios Emulator插件;

vscode创建项目

进入需要创建项目的文件夹

运行

flutter create 项目名

(可能需要安装cmake)

运行

普通运行

使用vscode打开项目文件夹,在终端输入flutter run,这种模式不能热加载,需要在命令行输入相应字符才能操作

操作
R:重启并热加载
r:热加载
h:帮助
d:分离
q:退出
p:显示网格,这个可以很好的掌握布局情况,工作中很有用。
o:切换android和ios的预览模式。
q:退出调试预览模式。

热加载debugger

左侧选择debugger的中的运行即可.

连接第三方模拟器

第三方模拟器需要开启root权限,若是有usb调试选项,也要开启

cmd进入Android sdk的platform-tools文件夹,运行adb连接代码

夜神模拟器:adb connect 127.0.0.1:62001

逍遥安卓模拟器:adb connect 127.0.0.1:21503

天天模拟器:adb connect 127.0.0.1:6555

海马玩模拟器:adb connect 127.0.0.1:53001

网易MUMU模拟器:adb connect 127.0.0.1:7555

原生模拟器:adb connect (你的IP地址):5555

mumu:adb connect 127.0.0.1:7555

异常

启动异常Initialization gradle…

如果启动过程中一直卡在 Initialization gradle…

那就去gradle官网下载他的zip压缩包 然后放在.gradlewrapperdistsgradle-4.10.2-all9fahxiiecdb76a5g3aw9oi8rv下 把其他文件删除
gradle的版本要对应好

adb 提示adb server version(31) doesn‘t match this client(40)

adb的版本冲突问题,

  1. 将AndroidSDK的platform-toolscmdline-toolsbuild-tools路径添加到path中,重启虚拟机(重连手机),重启Android SDK软件(最好重启软件),测试一下;
  2. 若是还有问题,可能是电脑之前安装过adb的服务,打开windows管理工具中的服务,看看有没有adb的,把这个服务停止(最好禁用了,不然每次都要停止一下),测试一下;
  3. 可能是端口冲突,这是因为你的电脑安装了,鲁大师手机助手,360手机助手占用了adb的端口引起的。
    1. cmd输入netstat -ano|findstr “5037”,去查找5037对应的端口号的进程id 也就是pid。如果有相应的pid,就证明此端口5037有程序占用了

      技术图片

    2. 输入tasklist |findstr “15828”,看到占用端口的软件,去吧这个软件停了
      1. 任务管理器的详细信息可以看到,右键结束即可(可以按照名字查找或者在表头右键显示pid,找到对应pid的程序);
      2. 使用代码强制结束:taskkill /pid 15828 -t -f

      技术图片

    技术图片技术图片





以上是关于Flutter安装的主要内容,如果未能解决你的问题,请参考以下文章

Flutterflutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘(代码片段

flutter解决 dart:html 只支持 flutter_web 其他平台编译报错 Avoid using web-only libraries outside Flutter web(代码片段

Flutter 报错 DioError [DioErrorType.DEFAULT]: Bad state: Insecure HTTP is not allowed by platform(代码片段

Flutter 布局备忘录

是否有一种方法可以将实时记录的音频片段连续发送到Flutter.io中的后端服务器?

Flutter Spacer() 不能使用 SingleChildScrollView 解决方案