美文网首页
学习Flutter的第一天(开始使用)

学习Flutter的第一天(开始使用)

作者: 囧rg | 来源:发表于2023-04-18 21:07 被阅读0次

    1. 开始使用

    1.1安装Flutter

    1.1.1 准备

    1、最新的系统

    2、最新的xcode

    3、安装brew https://brew.sh/

    4、安装chrome浏览器

    1.1.2 下载sdk

    执行命令,查看要下载的sdk版本

    uname -a
    Darwin macdeMacBook-Pro-2.local 20.2.0 Darwin Kernel Version 20.2.0: Wed Dec  2 20:39:59 PST 2020; root:xnu-7195.60.75~1/RELEASE_X86_64 x86_64
    

    根据版本下载对应的包

    3.3.4   x64 eb6d86e 2022/10/6   2.18.2
    3.3.4   arm64   eb6d86e 2022/10/6   2.18.2
    

    1.1.3 配置环境变量

    把下面的配置,分别复制到文件中

    vim ~/.bash_profile 
    
    vim ~/.zshrc 
    
    export PUB_HOSTED_URL=https://pub.flutter-io.cn
    export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
    export PATH=/Users/mac/Documents/flutter/bin:$PATH
    

    执行命令,使之生效

    source ~/.bash_profile 
    
    source ~/.zshrc 
    

    查看是否成功

    flutter --version
    

    1.1.4 fultter升级

    Flutter 有 3 个发布渠道,分别是 stablebetamaster。我们推荐使用 stable 渠道除非你需要体验最新更新的 Flutter 特性。

    flutter channel
    

    要切换到其它渠道,使用 flutter channel <channel-name>。当你切换了渠道以后,使用 flutter upgrade 下载 Flutter SDK 和依赖的 packages。例如:

    flutter channel stable
    flutter upgrade
    

    1.2 遇到的问题

    1.2.1 执行flutter doctor时,卡住不动

    export PUB_HOSTED_URL=https://pub.flutter-io.cn
    export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
    

    1.2.2 执行flutter upgrade时,卡住不动

    删除缓存文件夹中的内容

    /Users/mac/Documents/flutter/bin/cache
    

    1.2.3 需要java11

    在运行到android手机上的时候,需要java11。

    https://www.oracle.com/java/technologies/downloads/#java11-mac

    安装完成后,配置项目文件。

    项目目录 -> android -> gradle.properties

    org.gradle.jvmargs=-Xmx1536M
    android.useAndroidX=true
    android.enableJetifier=true
    // 新增下面的路径(mac)
    org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.16.1.jdk/Contents/Home
    // window
    # org.gradle.java.home=D\:\\Program Files\\Java\\jdk-11.0.6
    
    

    项目目录 -> android -> app -> build.gradle

        compileOptions {
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
        }
    
        kotlinOptions {
            jvmTarget = '11'
        }
    

    1.3 创建项目

    flutter create my_app
    cd my_app
    flutter run
    
    // 项目项目权限
    chmod -R 777 my_app
    
    // 或者直接运行
    // flutter run -d chrome
    
    // run后,会检查可运行设备
    Multiple devices found:
    macOS (desktop) • macos  • darwin-x64     • macOS 11.1 20C69 darwin-x64
    Chrome (web)    • chrome • web-javascript • Google Chrome 102.0.5005.61
    [1]: macOS (macos)
    [2]: Chrome (chrome)
    Please choose one (To quit, press "q/Q"): 2
    
    

    1.4 项目目录

    文件或目录 说明
    .dart_tool 记录了一些dart工具库所在的位置和信息
    .idea android studio 是基于idea开发的,.idea 记录了项目的一些文件的变更记录
    lib lib文件夹内存放我们的dart语音代码
    android Android项目文件夹
    ios iOS项目文件夹
    linux Linux项目文件夹
    macos macos项目文件夹
    web web项目文件夹
    windows windows项目文件夹
    test 用于存放我们的测试代码
    build 编译后的文件目录
    .gitignore git忽略配置文件
    .metadata IDE 用来记录某个 Flutter 项目属性的的隐藏文件
    pubspec.lock 当前项目依赖所生成的文件
    pubspec.yaml 当前项目的一些配置文件,包括依赖的第三方库、图片资源文件等
    项目名.iml 工程文件的本地路径配置
    README.md READEME文件
    analysis_options.yaml 分析dart语法的文件,老项目升级新项目有警告信息,内容可以注释或者删掉

    1.5 项目入口文件

    在lib中,main.dart

    // 需要引入包
    import 'package:flutter/material.dart';
    
    //入口
    void main() {
      runApp(const Center(
        child: Text(
          "hello nihao",
          textDirection: TextDirection.ltr,
          style: TextStyle(color: Colors.red, fontSize: 40),
        ),
      ));
    }
    
    

    1.6 调试

    1.6.1 查看连接的设备

    flutter devices 在任何目录下都可以执行

    3 connected devices:
    
    21091116AC (mobile) • KR79W4GMM7EAKRQG • android-arm64  • Android 12 (API 31)
    macOS (desktop)     • macos            • darwin-x64     • macOS 11.1 20C69
    darwin-x64
    Chrome (web)        • chrome           • web-javascript • Google Chrome
    106.0.5249.103
    
    

    1.6.2 运行

    flutter clean 清除build

    flutter run 只能在项目对应的目录下运行

    flutter run -d all 所有设备都运行

    flutter run -d 指定设备运行

    本地服务运行,可用手机访问

    flutter run -d web-server --web-port 8989

    flutter run -d web-server --web-hostname 192.168.31.191 --web-port 8989

    192.168.31.191 : 自己本地的ip , 启动后,在手机上浏览器中,直接输入 192.168.31.191:8989 即可访问

    常用快捷键
    r键:热加载,重新加载
    R键:热重启项目
    p键:显示网格,可以很好的掌握布局情况
    o键:切换android 和 ios预览模式
    q键:退出调试预览模式
    

    1.6.3 vscode

    在vscode中安装插件

    flutter
    dart
    

    代码提示工具

    Flutter Widget Snippets
    Awesome Flutter Snippets
    

    1.7 打包

    Android 打包

    flutter build apk --no-shrink
    

    web打包

    flutter build web
    // 不推荐使用第一种, 上面打出来的包,内容过多,如果是pc端使用,可以用上面的方式
    flutter build web --web-renderer html
    

    相关文章

      网友评论

          本文标题:学习Flutter的第一天(开始使用)

          本文链接:https://www.haomeiwen.com/subject/bfrkjdtx.html