导入第三方库踩坑小结:

(编译器: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. SQL数据库操作整理

    1.规范 ①关键字与函数名称全部大写: ②数据库名称.表名称.字段名称全部小写: ③SQL语句必须以分号结尾. 2.数据库操作 // 1. 创建数据库,其中[]表示可以省略 CREATE { DATA ...

  2. CF 980D Perfect Groups(数论)

    CF 980D Perfect Groups(数论) 一个数组a的子序列划分仅当这样是合法的:每个划分中的任意两个数乘积是完全平方数.定义a的权值为a的最小子序列划分个数.现在给出一个数组b,问权值为 ...

  3. 通过jQuery实现AJAX

    通过jQuery实现AJAX > 使用get和getJSON都会有缓存问题,并且使用get方法不能传送较多的数据. 问题: 在IE浏览器中,get请求使用ajax存在缓存问题,会使用上一次请求的 ...

  4. 多线程中wait、notify理解

    实在惭愧,java开发多年,多线程运用一直不多,该知识点理解也不够,不怎么会用.赶上使用多线程 生产者.消费者模式,学习下该知识点. synchronized  获取锁 wait 阻塞本线程,释放对象 ...

  5. 移动web 的viewport设置注意事项的详细解释 六一快乐=-_-_

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 在谷歌地图上绘制行政区域轮廓【结合高德地图的API】

    实现思路: 1.利用高德地图行政区域API获得坐标列表 2.将坐标列表绘制在谷歌地图上[因为高德地图和国内的谷歌地图都是采用GCJ02坐标系,所有误差很小,可以不进行坐标误差转换] 注意点: 1.用百 ...

  7. Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path

    我们遇到的错误显示如下:   我们右击有错误提示的文件夹,如下:   我们点击”配置构建路径“,如下:   我们再点击”添加库“,如下:   我们选中上图中标出的选项,再点击下一步,如下:   我们再 ...

  8. 原生Ajax实现

    发现一件可怕的事情,前端学不完了,春招要开始了.唉,人生苦短.

  9. HTTP的学习记录(二)头部

    本文主要讲一些 HTTP头部的信息 首先看一段 惊为天人 的文章. 来自于 <淘宝技术这十年> 你发现快要过年了,于是想给你的女朋友买一件毛衣,你打开了www.taobao.com.这时你 ...

  10. C# Repeater 嵌套

    <table class="table table-bordered table-fixed"> <thead> <tr> <th wid ...