导入第三方库踩坑小结:

(编译器:VsCode)

( 打算在学习中,使用flutter重新自己的项目,遇到比较特殊的坑,就先记录一下,持续更新中)

1.把第三方库 写入pubspec.yaml文件中

dependencies:
flutter:
sdk: flutter # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.
english_words: ^3.1. dev_dependencies:
flutter_test:
sdk: flutter

2.在底部终端 运行:

flutter packages get

或点击右上角的 Get Packages 按钮

运行结果:

Running "flutter packages get" in lwflutterapp...                   .6s

 3.之后 在main.dart 文件中 导入

import 'package:english_words/english_words.dart';

发现报错,如图:

原因: 依赖库没有成功导入,可以看一下刚才上面的导入时间只有0.6s,一般不会这么快,

坑1.:把第三方库的名字写入文件后,忘记保存,直接运行了 flutter packages get,

坑2:当保存之后,再次加载第三方库,发现会一直卡在这个地方,等半天也没有结束

原因: storage.googleapis.com 撞墙了,

解决方式:

1:配置一下环境变量

Linux 或 Mac:

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn Windows: PUB_HOSTED_URL ===== https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL ===== https://storage.flutter-io.cn 2:执行一下 flutter doctor -v 命令。(可有可无) 3:然后再执行 flutter packages get

坑3:当你配置完环境变量之后,再次运行  flutter packages get的时候发现,flutter的文件是被锁状态,因为有一个任务一直未完成状态,就是刚才卡死的那个任务,

终端显示:

Waiting for another flutter command to release the startup lock...

解决方法,如下:

  1、打开flutter的安装目录/bin/cache/  ( /usr/local/flutter/bin/cache)

  2、删除lockfile文件

  3、重启vsCode

(补充: 如果还不行,请先检查安装的flutter目录下./flutter/bin/cache/路径下是否已经有个lockfile文件存在了,因为我使用的是vscode下面的终端窗口,有时即使线程被占用了,但是不会像电脑终端一样会有提示信息,被坑过!)

然后就可以 正常的导入第三方了(需要几分钟的时间),导入的头文件也不会再保存了,

坑4:真机运行时:报错 Error connecting to the service protocol: HttpException: , uri = http://127.0.0.1:1024/ws

网上有人说:这种情况,一般是调试iOS真机的情况会出现,打开Xcode->Window->Devices and Simulators,将Connect via network取消

但是我的本来就是取消状态,所有对我无效,

我杀死进程后,就运行成功了,

坑5:数据转模型对象

 刚开始使用的是网上说的 第三方框架  json_annotation: ^2.0.0,这个框架会自动生成一个与model.dart文件对应的model.g.dart文件,但是比较蛋疼的就是model类的属性,你需要一个一个的手写,如果少了还行,多了就很蛋疼了。所有弃用了,

由于vscode的插件比较少,所有我使用在线工具 https://javiercbk.github.io/json_to_dart/,这个在线工具就可以根据json,自动生成一套转模型的代码,只需要改一下类名就行了,但是。。还有坑。由于 自动生成的代码里,在赋值那一块没有对类型就行强转,就造成了 int和double的混乱,经常会报 int 和 double之间的类型错误。这是就需要根据数据的实际情况手动添加强转 代码(as int 或 as double),

持续踩坑中。。。

flutter 踩坑总结的更多相关文章

  1. Flutter踩坑日记:Tab导航栏保持子页面状态

    最近应邀票圈小伙伴躺坑Flutter,项目初步雏形完结.以原来的工具链版本为基础做了Flutter版本,不过后面还是需要优化下项目接入Redux,以及扩展一些Native方法. 这里记录一下在开发过程 ...

  2. Flutter 踩坑之build函数返回了null

    今天遇到一个bug,内容都正常显示没问题,但是控制台里报错,如图: 翻译了下,说是函数不能返回空值,搜索了下,网上相同问题的是少写了个return,我检查了下也没发现少return的,后来突然发现if ...

  3. Flutter踩坑日记:解除依赖

    Flutter已经融入工程有一段时间了,由于团队人数较少,所以一直没有管和原有工程解依赖的问题,今天有时间正好把这个问题给搞了. 一.分析 首先,直接忽略上一篇<接入现有iOS项目>的所有 ...

  4. Flutter踩坑日记:接入现有iOS项目

    之前搞的Flutter版工具链已经弄完了,感兴趣的朋友可以围观下,Android版本dio库(v2.0.14)发送网络请求老是报错,去官方提了issue还没回,于是今天搞一下把Flutter模块接入到 ...

  5. Mac 安装flutter 踩坑记

    完整版请看链接: http://b36d5043.wiz03.com/share/s/2Prl132RpQ3x2XpA4I2oTa2204K0FF0vB4J42tWIEQ04UrAg 首先下载flut ...

  6. Flutter 踩坑集

    1.Flutter Packages Get 一直重试或一直失败的问题 翻车原因:万恶之源-----天朝的长城防火墙 解决方法 详见:https://flutter.dev/community/chi ...

  7. flutter 踩坑小计: amap_base 地图缩放 zoom 设置无效的问题

    这种问题估计也就我这种菜鸡能遇到了,因为我问了一些大佬,他们完全没遇到这类的问题. 如果你也遇到了,希望这篇文章能帮到你,倘若还不能解决你的问题,可以留言,我们共同研究. 问题:同样的插件,为什么偏偏 ...

  8. flutter踩坑小记:The number of method references in a .dex file cannot exceed 64K.

    The number of method references in a .dex file cannot exceed 64K. 这句话的意思翻译出来是:.dex文件中的方法引用数不能超过64K. ...

  9. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

随机推荐

  1. easyui-dialog对话框练习

    <div id="dl1" class="easyui-dialog" title="窗口" style="width:40 ...

  2. react native ios打包到真机,即生产包

    参考文章:http://www.devio.org/2017/02/09/React-Native%E5%8F%91%E5%B8%83APP%E4%B9%8B%E6%89%93%E5%8C%85iOS ...

  3. 浅谈关于SRAM与DRAM的区别

    在上体系结构这门课之前,我只知道DRAM用作内存比较多,SRAM用作cache比较多.在今天讲到内存技术时,我对于这两个基础概念有了更加完整的认识.这篇文章是我的听课心得,现在分享给各位,仅供参考,若 ...

  4. Sublime编写React必备插件

    我终于看到了我要的攻略,sublime自带的format实在是不能看不能看不能看. 攻略地址:http://www.jianshu.com/p/ecf6c802fdc5?open_source=wei ...

  5. linux下rename命令使用(可以实现文件批量重名)

    rename命令使用 把所有文件中的@符号去掉 wang@2a.pngzhang@2a.pngzhou@2a.pnghaha@2a.pngmama@2a.png CentOS:rename \@2a. ...

  6. Codeforces Round #364 (Div. 2) B

    Description Vasya has the square chessboard of size n × n and m rooks. Initially the chessboard is e ...

  7. 机器学习框架ML.NET学习笔记【2】入门之二元分类

    一.准备样本 接上一篇文章提到的问题:根据一个人的身高.体重来判断一个人的身材是否很好.但我手上没有样本数据,只能伪造一批数据了,伪造的数据比较标准,用来学习还是蛮合适的. 下面是我用来伪造数据的代码 ...

  8. Shell 学习—AWK介绍

    Shell 学习—AWK = = = 安装awk root@kiki-desktop:~/shell# apt-get install gawk gawk-doc = = = awk 是一种程序语言. ...

  9. pat1078. Hashing (25)

    1078. Hashing (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The task of t ...

  10. flask SQLAlchemy--column 列的类型

    最常用的SQLAlchemy列类型 类型名 Python类型 说 明 Integer int 普通整数,一般是 32 位 SmallInteger int 取值范围小的整数,一般是 16 位 BigI ...