首页 > 其他分享 >Flutter错误

Flutter错误

时间:2023-07-21 23:57:13浏览次数:40  
标签:Widget 错误 E5% flutter maven State Flutter

Flutter错误

[Flutter错误 | 不器小窝](https://xingcxb.com/language/dart/b4845b/#%E5%9C%A8flutter%E5%BC%80%E5%8F%91%E4%B8%AD-%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E4%BA%86cocopods-%E4%BD%86%E6%98%AF%E6%8F%90%E7%A4%BA%E6%9C%AA%E5%AE%89%E8%A3%85%E7%9A%84%E9%97%AE%E9%A2%98)

#前言

哪个程序员没有一个写App的梦呢,这不喜欢折腾的我又来了,本文持续更新...

#Evaluation of this constant expression throws an exception

这个是因为父控件使用const修饰,是一个常量,所以子控件里不能有一个变量,解决方法,去掉const

#如何理解 flutter 中的 StatelessWidget 、 StatefulWidget 、 State

StatelessWidget 是 Flutter 中最基本的 Widget 类型之一,它不维护状态,也就是说,它的状态是由创建它的 Flutter 框架维护的。StatelessWidget 通常用于构建静态的、不随时间变化的 UI 组件,例如标题、按钮、文本等。

StatefulWidget 是 Flutter 中的另一种基本 Widget 类型,它维护状态。当 StatefulWidget 重新渲染时,它的状态会重新创建,并且所有的子 Widget 也会重新渲染。StatefulWidget 通常用于构建可变的、随时间变化的 UI 组件,例如列表、网格、进度条等。

State 是 Flutter 中的一个重要概念,它用于管理 Widget 的状态。在 Flutter 中,每个 Widget 都可以拥有一个 State 对象,这个 State 对象维护了该 Widget 的状态。例如,如果你创建一个列表 Widget,你需要为该 Widget 创建一个 State 对象,用于维护列表的内容、排序等信息。当用户点击列表中的一个项时,你需要更新 State 对象中的状态,然后使用 Updater 函数更新 UI。

#运行 flutter 项目一直卡在 Running Gradle task 'assembleDebug'...

  1. 打开 Flutter SDK 的安装目录, 找到 Flutter 的配置文件,文件路径在:Flutter安装目录/packages/flutter_tools/gradle/flutter.gradle

  2. 编辑 flutter.gradle 文件,找到 repositories 节点,将节点中的 google()jcenter() 注释掉,换成阿里的仓库

      ...
      buildscript {
        repositories {
            // google()
            // jcenter()
            maven { url 'https://maven.aliyun.com/repository/google' }
            maven { url 'https://maven.aliyun.com/repository/jcenter' }
            maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:7.2.0'
        }
    }
  3. 将开发项目中的 android/build.gradle 的文件参照12的操作在来一遍

  4. 处理完后重新运行即可

#使用 http 库出现 Unhandled Exception: Failed host lookup: 'xxx.com'

这是没有网络情况造成的,看看本地网络是否正常;看看是否给程序网络权限

#配置程序的网络权限

在项目的 android/src/main/AndroidManifest.xml 下添加下列代码:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.untitled">
    <!-- 添加下面的代码 begin -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- end -->
    <application
    ...
 

注意:不要放在application

#flutter 升级提示错误 Your flutter checkout has local changes that would be erased by upgrading.

#具体错误信息

Your flutter checkout has local changes that would be erased by upgrading. If you want to keep these changes, it is
recommended that you stash them via "git stash" or else commit the changes to a local branch. If it is okay to remove local
changes, then re-run this command with "--force".
 

#解决方案

简单方案:flutter upgrade --force

先查看 flutter 的分支,如果不是 dev 分支那就将其切换到 dev 分支即可

# 查看分支
flutter channel
# 显示的内容
Flutter channels:
  master
  dev
  beta
* stable

# 切换分支
flutter channel dev
# 更新flutter
flutter upgrade
# (备用)如果上面更新失败那么就使用下面的更新命令
flutter upgrade --force
 

当更新了 flutter 后要注意运行一下 flutter doctor,因为这时候编辑器会抛出找不到 dart sdk 的错误

#iOS 14.3 调试项目时出现了 file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a

iOS 14.3的把ARC相关的库移除了,主要原因是系统已经内置了

#解决方案

更新flutter的版本即可

#Flutter开发中,已经安装了cocopods,但是提示未安装的问题

运行项目时提示CocoaPods not installed or not in valid state.但是已经安装了CocoaPods

#解决方案

#方案一

按提示安装CocoaPods

#方案二

关闭android studio然后再开启

#奇怪的问题

在大地老师的视频里面看到,创建了新的项目时又重新打开当前创建项目下的android的目录,原因暂时未知

标签:Widget,错误,E5%,flutter,maven,State,Flutter
From: https://www.cnblogs.com/ministep/p/17572649.html

相关文章

  • Flutter开发VSCode快捷键
    快速创建widget:在dart文件中输入stf或stl出现提示后按⏎即可快速修复:⌘ + .自动生成构造函数:选中final参数,快捷键:⌘ + .添加父组件、变为子组件、删除子组件:⌘ + .重新打开关闭的编辑页面:⌘+ ⇧ +  T通过匹配文本打开文件:⌘ +  T代码格式化:⇧ +......
  • Image 和 Icon 区别 flutter
     https://baijiahao.baidu.com/s?id=1669477477846822809&wfr=spider&for=pc MaterialDesign所有图标可以在其官网查看:https://material.io/tools/icons/......
  • ie6下报Internet Explorer cannot open the Internet site 错误
     ie6下报InternetExplorercannotopentheInternetsite错误  今天在ie6上测试项目,点击一个连接后报错:InternetExplorercannotopentheInternetsite 1、起初是认为body没有加载完就执行了js代码,修改了之后还是不行。 2、将js移动到</html>之后还是无效。 3、删除了......
  • VTK 9.2 Qt 5.14 安装及错误处理
    安装注意:编译release和debug,通过切换配置为release和debug,文件都是在cmake的CMAKE_INSTALL_PREFIX指定的文件夹,需要编译完一种后,把这个文件夹改名(比如debug配置,则改名为debug),不然会覆盖。在Qt项目中,出现错误:“无法解析的外部符号__imp_gl***”,“项目-属性-链接器-输入”添加:OpenG......
  • pytest xfail 已知错误 失败也不报错
    [email protected]('a,b,sum',[#参数化出来3组数据(1,2,3),(2,3,5),(3,-19,-16)])deftest_add(a,b,sum):asserta+b==sum#如果名称等于main输出pytest.main([文档,sv参数])@pytest.mark.xfail#已知的错误失败也不报错d......
  • Scrapy 部署错误:subprocess.CalledProcessError 以及解决方案
    最近在使用Scrapy和Scrapyd时,我遇到了一个关于subprocess.CalledProcessError的问题。在这篇博文中,我将描述这个错误、找出的原因以及最后的解决方案。错误描述在使用scrapyd-deploy命令部署我的Scrapy项目时,我遇到了如下的错误:subprocess.CalledProcessError:Comma......
  • rk3288不改内核情况下采用中断方式挂载按键驱动(各种错误提示)
    内核不是开源的,只能选择.ko文件加载驱动主板:么么厂家的rk3288,非瑞芯微官方板子瑞芯微官网下载SDK,编译后的内核写进板子,板子无法启动,显然厂家在瑞芯微的基础上改硬件了把GPIO_KEY驱动修改成模块,然后加载,提示log:versionmagic'4.4.192mod_unloadARMv5'shouldbe'4.4.154......
  • 【Oracle】预定义说明的部分 ORACLE 异常错误
    预定义说明的部分ORACLE异常错误参考链接:https://www.cnblogs.com/thescentedpath/p/errordeal.html预定义说明的部分ORACLE异常错误错误号异常错误信息名称说明ORA-0001Dup_val_on_index违反了唯一性限制ORA-0051Timeout-on-resource在等待资源时发生超......
  • linux账号登录错误次数过多解锁
    [root@inmnmapp50~]#pam_tally2--userOSS3_JC_BSLoginFailuresLatestfailureFromOSS3_JC_BS32207/20/2317:50:1410.135.7.152[root@inmnmapp50~]#pam_tally2--userOSS3_JC_BS--resetLoginFailuresLatestfai......
  • java log 获取错误信息哪一行错误
    JavaLog:获取错误信息中的错误行在软件开发过程中,错误的出现是无法避免的。为了能够快速定位和修复错误,我们需要准确地获取错误的信息,特别是错误发生时的具体位置。在Java中,我们可以使用日志(Logging)来记录错误信息,并通过分析日志来获取错误所在的行。本文将介绍如何在Java中使用......