快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

flutter停止更新,flutter app版本更新

Flutter升级之后项目不能运行

flutter运行之后报了这个错,不能够运行。

创新互联是一家集网站建设,兴县企业网站建设,兴县品牌网站建设,网站定制,兴县网站建设报价,网络营销,网络优化,兴县网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

在结果上面会提示appt2等错误,其实错误的原因是Androidx支持有问题。

官方解决办法: (合理打开)

app/build.gradle 下面

在gradle.properties下添加:

重新清理运行,ok。

Flutter遇到的坑

最近写了一个LoadingView用于页面的网络加载,使用的是StatefulWidget。由于项目是使用的Get对状态进行控制的,所以在GetBuild中对Loading进行刷新。但在使用中发现rebuild LoadingView没有刷新状态,看参数是在Widget中更新了的。

后续定位发现,StatefulWidget在rebuild的时候,并不会重新执行initState方法,而只会执行build方法,这也符合state和widget的一对多原则。知道问题所在,修改也非常简单。去掉state中的status变量,使用widget中的initStatus值即可。

在此记录,对于Get的一些注意点。

目前项目中对Widget进行了内嵌LoadingView的BaseWidget封装,对GetxController进行了LoadingStatus状态操作的BaseController封装。发现在第二个继承了BaseWidget的页面中,对绑定的Controller进行update操作无效。

阅读源码后发现,GetBuilder的global参数默认是true,在没有指定tag的情况下,会根据controller作为key进行全局map,若第二次调用时,会先通过Controller进行get,正好我们的BaseWidget使用的是BaseController导致全局只有一个Controller从而导致第二个页面无法刷新问题。我们只需要在基类中将global改为false,直接使用init的controller即可。

目前在做App的主题色切换功能,发现在部分主题色下,Appbar的标题和Action自动变成深色,查阅资料后得知,由于色值的computeLuminance值过大导致Brightness自动为Brightness.light。

知道原因后就好办了,通过设置ThemeData里面的Brightness类型的参数为Brightness.dark(注意我们只需要Appbar为深色,brightness参数控制的是整个页面,不修改)。经验证,primaryColorBrightness控制Appbar的标题和action,修改即可。

Flutter项目遇到的问题及解决方法记录

问题原因:版本大小原因

解决方案:点击ios文件夹-点击podfile修改如下(亲测实用已解决)

解决方案:

删除IOS工程中的Podfile.lock文件,重新pod install(继续执行Flutter run操作)即可解决。

问题原因:没有配置safety相关

解决方案:可以直接在命令行中执行:

然后在Additional run args 这行键入一下命令即可。

问题原因:xcode版本更新导致的

解决方案:将爆红处一行隐藏,运行,点击fix即可,会显示正确位置就解决了。

解决方法:

1、找到第一个爆红文件,将311行问号后面的Colors.white删除即可

2、 在相同的文件夹内找到第二个爆红文件,找到106行,删除super.addAllowedPoint这一行即可。

造成原因分析:还不清楚

群友帮助:经常出现,重启电脑多试试

解决方案:暂未找到

解决Flutter升级后,flutter run 卡在gradle build running的问题

brew 安装方式

通过gradle -v查看版本

在项目中的android/gradle/wrapper/gradle-wrapper.properties修改:

在andriod/build.gradle中找到buildscript并更新为新一点;

(在Andriod Studio 中会有提示适合的版本)

在android/build.gradle中添加阿里云的镜像地址:

如果有用到其他的源请自行添加;

附上查询阿里云源的镜像地址

在android/app/build.gradle中修改compileSdkVersion:

(flutter run 后如果不适合会提示)

升级Flutter后, 最好(能不动就不动) 把需要的pub全部升级到最新

方法是去 找到对应包的最新版本

然后更新:flutter pub get

tips:非必要真别升级,切记!切记!

如有用烦请看官点个赞

如有疑问可留言,会尽快的回复您

Dart support is not enabled for the project.解决方法

问题描述:

Mac环境,安装了Android Studio,以及包括Dart插件在内的Flutter插件。在终端运行 flutter doctor ,显示全部配置完成。在Android Studio中创建一个Flutter的新项目,包括运行什么的都完全没问题。但是,我从Git上克隆自己的项目,用Android Studio打开以后,有个警告“dart sdk is not configured”,并且没有Flutter Device Selection按钮,项目无法继续进行。

解决方法:

在网上找到的方法,都是这个:

1、打开File =》Setting =》Language Frameworks = Dart

2、勾选 “enable Dart support for the project”,并且选择Dart SDK path,路径为 D:\install\android\flutter\bin\cache\dart-sdk ,其中D:\install\android\flutter是flutter SDK路径

其实是对的,这就是解决方法。但是我的Android Studio是3.4.2版本的,我打开File是找不到Setting选项的。。。快捷键(ctrl + alt + s)也没反应。

开头入口被堵死了,便想着更新一下Flutter (终端运行 flutter upgrade ), 以获取最新版本的Flutter和Dart SDK, 结果终端毫不留情的直接给了我一段error。于是,经过一番耐心的查找,终于找到了三个入口:

入口一:

入口二:

打开Tools =》Flutter =》Flutter Upgrade =》Language Frameworks = Dart

入口三:

Preferences =》Language Frameworks = Dart

然后操作即可:

flutter项目升级2.0过程填坑记录

在此之前先推荐看大佬的: 填坑指导

iOS需要注意:

1、flutter2.0要求cocoapods 升级到1.9.0

详情看这篇博客

2、原来flutter项目中的podfile文件是旧版本的ccocoapods了,删除podfile和对应的.lock,然后flutter项目重新运行使用它自动生成的podfile文件

3、安装CocoaPods

卸载cocoapods:sudo gem uninstall cocoapods

查看cocoapods版本:pod --version

指定版本安装:

sudo gem install -n /usr/local/bin cocoapods -v 1.9.3(新MacOS系统升级)

不指定版本安装

sudo gem install -n /usr/local/bin cocoapods

说明 :老项目sdk1.17.0===升级到2.0.1,当前所有操作基于win平台

到此为止环境已经准备妥当,正式进入项目修改。

所有的插件都要适配到空安全,插件是否支持均会有对应说明Null safety,适配过程不确定版本的话,可以使用dio: any,适配完事后再在pubspec.lock文件中查看具体的版本修改过来,实在有部分插件没有支持的,参考下面

部分插件在适配空安全的版本放弃维护了,得自行更新或寻找替代,如: flutter_swiper 变为 flutter_swiper_null_safety ,插件更新后要注意项目中的用法是否需要更新

2.1.1: 以前采用的是 provide 插件共享全局数据,现在变化为 provider ,用法改变, 点击参考 ,以防文章丢失,我重复一遍:

比如:

2.1.2: dio版本升级到4.0.0最新版后,部分用法改变

2.2.1

2.2.2

解决方案:

2.2.3

解决方案:

2.2.4

解决方案:

2.2.5

解决方案:

2.2.6

解决方案:

2.2.7

解决方案:

2.2.8

解决方案: child 换为sliver

2.2.8.1

解决方案: 项目目录下: android--app-build.gradle --minSdkVersion改为:18 或者19

2.2.8.2

解决方案: 在pubspec.yarm管理里面添加:publish_to

2.2.8.3

解决方案: video_player升级后字段发生了变化,initialized字段更换为:isInitialized(_controller.value.isInitialized)

2.2.8.4

解决方案:

2.2.8.5

解决方案:

2.2.8.6

解决方案: 方案一:删除ios目录下的Podfile.lock 文件然后重新运行 pod install命令

方案二:删除ios目录下的Podfile.lock与Podfile文件 重新运行flutter run或flutter build ios

方案三:删除ios目录,重新运行 flutter create . 命令,注意有"."这个符号不要忘记

2.2.8.7

这个报错一般对应的就是下面的报错,注意看后面的报错信息,看是哪个插件报错。

解决方案: 把Podfile的版本注释打开,改为platform :ios, '9.0' 或者是更高的版本

全局替换

1.将new List() 替换为[];

2.TextField的inputFormatters:[WhitelistingTextInputFormatter.digitsOnly] 替换为[FilteringTextInputFormatter.digitsOnly]

3.TextField的inputFormatters:[WhitelistingTextInputFormatter(RegExp("[a-z|A-Z|0-9]"))]替换为FilteringTextInputFormatter.allow(RegExp("[a-z|A-Z|0-9]"))

4.Stack组件中overflow: Overflow.visible改为 clipBehavior: Clip.none;overflow: Overflow.clip改为clipBehavior:Clip.hardEdge

5.ListWheelScrollView组件中clipToSize = false改为clipBehavior: Clip.none,clipToSize = true改为 Clip.hardEdge

6.TextField中maxLengthEnforced: true改为maxLengthEnforcement:MaxLengthEnforcement.enforced

7.FlatButton、RaisedButton、OutlineButton的变化: 官方参考

颜色的属性发生了变化,由原来的Color 变为了MaterialStatePropertyColor, 这是未了解决不同状态(pressed、hovered、focused、disabled)下按钮颜色的变化

例如

8.出现如下警告

9.showSnackBar报错误

解决方案: Scaffold换为ScaffoldMessenger

10.textSelectionColor弃用

解决方案:

11.charts_flutter升级后属性报错

解决方案:

12.flutter 真机调试无法访问网络,dio报错

解决方案:

android:

ios:

问题12完整参考


文章名称:flutter停止更新,flutter app版本更新
浏览路径:http://6mz.cn/article/dsipiop.html

其他资讯