0%

Flutter踩坑日记

前言

  1. 什么是Flutter

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

  2. Flutter使用什么语言

    dart语言

  3. Dart的特点

    基于 Dart 的特点:

    • 高效优秀的编程语言
    • 丰富强大的框架
    • 方便灵活的工具

    我们可以通过它在不同的设备上创作华丽的、高品质体验的应用

踩坑笔记

  1. Git与下载的区别

    官网描述,让人头大。Git下载,安全无忧。

    手动下载的FlutterSdk是没有灵魂的(没有 .git 文件,需要手动生成)。

    1
    2
    # 手动生成
    $ git init

    而直接git clone到的就没有这个问题了

    1
    2
    # Flutter Sdk
    $ git clone -b stable https://github.com/flutter/flutter.git

    如果没有.git文件,在执行flutter doctor时会报错(此处没有截图)
    执行flutter doctor时,大陆用户千万不要忘了配置环境变量(Windows为例 - 也可以手动添加):

    1
    2
    $ set PUB_HOSTED_URL=https://pub.flutter-io.cn
    $ set FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
  2. 源自海外,长城警告

    git clone 成功克隆了 FllutterSdk -> flutter.doctor也执行完毕了 -> Android Studio Plugins也加载好了,一切都是那么美好,Flutter的世界正在向我招手,按下start,flutter run!!!

    第1分钟:第一次加载嘛,应该要下载点东西,慢正常…
    第2分钟:第一次加载嘛,慢正常…
    第5分钟:慢挺正常的…

    报错…emmm…

    1
    2
    3
    4
    //无法解决什么什么
    Could not resolve io.flutter:flutter_embedding_debug:1.0.0-540786dd51f112885a89792d678296b95e6622e5.
    //无法获取 https://storage.googleapis.com
    Could not get resource 'https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-540786dd51f112885a89792d678296b95e6622e5/flutter_embedding_debug-1.0.0-540786dd51f112885a89792d678296b95e6622e5.pom'

    下载sdk失败?那一定是你和世界隔了一堵墙,请:科学上网、合理爬梯——好孩子千万不要学!

    当然,也可以用别人搭的瞭望塔看看世界。

    • android/build.gradle
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    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' }
    maven { url 'http://download.flutter.io' }//一般放在allprojects就行 - 对应 storage.googleapis.com
    }

    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' }
    maven { url 'http://download.flutter.io' }
    }
    }
    • %FLUTTER_SDK_HOME%/packages/flutter_tools/gradle/flutter.gradle
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    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' }
    maven { url 'http://download.flutter.io' }
    }
    dependencies {
    classpath 'com.android.tools.build:gradle:3.5.0'
    }
    }

总结

  之前在其他电脑上其实配置过一次Flutter(然后电脑送人了…),当时选择的是翻墙,一切过程走的很流畅,没啥坎坷的——我根本不觉得需要写个笔记记录。
  这次在集团里想重新配置下,也不知道是不是Win10的锅(肯定不是),还是集团网络太差(不可能),也可能是命运吧总是颠沛流离…(手动滑稽)没翻墙真的是太难了!——集团翻墙会被网络安全部门警告!
  玩Flutter的可能大概都是墙外生活的人,maven { url 'http://download.flutter.io' }这句话真的是在度娘身上一阵猛翻才搜出来的。
  如果有其他问题,欢迎评论区留言。

------------本文结束感谢您的阅读------------

Thank you for your accept!