Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
颤振热重新加载在android studio(mac)中不起作用_Android_Ios_Android Studio_Flutter - Fatal编程技术网

颤振热重新加载在android studio(mac)中不起作用

颤振热重新加载在android studio(mac)中不起作用,android,ios,android-studio,flutter,Android,Ios,Android Studio,Flutter,在mac机器上工作时,我发现热加载在Android Studio中不起作用。我不知道怎么了:) 这是不重新加载的代码(我正在将Hello world文本更改为颤振示例文本) 请看下面的视频和链接 这并没有阻止我的发展,但我担心为什么会发生这种情况 我也有同样的问题。要解决这个问题,您需要更新颤振sdk 在终端中,运行 颤振医生-v flatter升级 另外,从Android studio菜单中尝试文件>使缓存无效/重新启动…这就是您想要的 在文件->设置->键映射中,您应该为该操作指定一些快

在mac机器上工作时,我发现热加载在Android Studio中不起作用。我不知道怎么了:)

这是不重新加载的代码(我正在将Hello world文本更改为颤振示例文本)

请看下面的视频和链接


这并没有阻止我的发展,但我担心为什么会发生这种情况

我也有同样的问题。要解决这个问题,您需要更新颤振sdk

在终端中,运行

颤振医生-v

flatter升级


另外,从Android studio菜单中尝试
文件>使缓存无效/重新启动…

这就是您想要的


在文件->设置->键映射中,您应该为该操作指定一些快捷键。默认设置为Ctrl+\

如果我没有弄错的话,热重新加载会调用小部件的构建方法,因为您所做的更改不是在构建方法内部进行的,它不会更改屏幕上的任何内容

尝试在MyWidget构建方法中更改文本,看看它是否有效

导入“包装:颤振/材料.省道”;
void main(){
runApp(新材料)PP(
家:新脚手架(
appBar:新的appBar(
标题:新文本(“演示项目”),
),
正文:新建MyWidget(),
),
));
}
类MyWidget扩展了无状态Widget{
常量MyWidget({
关键点,
}):super(key:key);
@凌驾
小部件构建(构建上下文){
返回中心(子:新文本(“Hello World!!!”);
}
}

如果其他所有操作都失败,则此操作有效: 1.关闭Android Studio和模拟器

  • 通过打开Finder删除Android Studio,单击应用程序,右键单击Android Studio,然后单击移动到垃圾桶

  • 删除Android文件: $cd~/Library/Android $rm-fr* $cd $rm-fr.android

  • 删除Java

  • 安装Java

  • 安装并启动Android Studio并接受许可协议


  • 您必须保存在main.dart文件中所做的更改。 在那之后,热重新加载将起作用, 在visual studio上选择“自动保存”选项 那它就可以很好地工作了


    *热重新加载需要先保存文件。

    如何在Linux上的Android Studio 3.6.2和Flatter v1.12.13+修补程序9中的无状态小部件中使用Flatter热重新加载。。。在main.dart文件中:

    确保在Android Studio>文件>设置>语言和框架>颤振>选中“保存时执行热加载”

    使用下面的代码->更改“Hello”->保存->查看热重新加载结果

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      // StatelessWidget turns this class into a widget
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Text('Hello'),
        );
      }
    }
    

    StatefulWidget
    包装代码,如下面的代码所示。 在观看旧教程时,这可能会令人困惑,因为在早期的颤振版本中,它通常不使用它

    导入“包装:颤振/材料.省道”;
    void main(){
    runApp(newmaterialapp(home:MyApp());
    }
    类MyApp扩展了StatefulWidget{
    MyApp({Key}):超级(Key:Key);
    @凌驾
    _MyAppState createState()=>\u MyAppState();
    }
    类MyAppState扩展了状态{
    @凌驾
    小部件构建(构建上下文){
    归还新脚手架(
    appBar:新的appBar(
    标题:新文本(“演示项目”),
    ),
    正文:中间(子项:新文本(“Hello World!!!”),
    );
    }
    }
    
    flatter文档说“热重新加载将代码更改加载到VM中,并重新构建小部件树,保留应用程序状态;它不会重新运行main()或initState()”

    因此,如果应用程序逻辑驻留在主方法之外,则热重新加载工作正常。尝试像下面这样重构你的应用程序,然后重新启动(绿色按钮)。保存后,您所做的任何后续更改都将被热重新加载

    void main() {
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: new Scaffold(
            appBar: new AppBar(
              title: new Text("Demo Project"),
            ),
            body: Center(child: new Text("Hello World!!!")),
          ),
        );
      }
    }
    
    更新:
    如果要添加新资源(如图像或文件),则热重新加载将不起作用。在这种情况下,您必须重新启动应用程序。

    试试这个

    GitHub上的解决方案

    Android Studio使用IDEA自动导入文件,如下所示

    import 'file///F:/flutter_project/lib/home_page.dart';
    
    换成

    import 'package:flutter_project/home_page.dart';
    
  • 转到android studio并单击“帮助”,然后选择“检查更新”
  • 现在点击更新按钮
  • 重新启动goto插件后,通过卸载和重新安装pugins重新安装Flatter插件

  • 我使用VScode在Windows中进行颤振。在热重新加载时也面临同样的问题。
    将Dart和Flatter软件包更新为最新版本,幸运的是它开始工作。

    将代码放入有状态widge的无状态中。
    要进行热重新加载工作代码必须位于有状态小部件的无状态内部。

    这些可能是由于代码和资源太多而导致的。只需从模拟器中删除应用程序,然后重新运行它。

    在我的例子中,我只是从手机中删除了旧应用程序。然后从Android Studio运行。也许我试过发布应用程序,但之后没有删除(记不清了)。无论如何,问题解决了

    在颤振1.22.6中遇到了相同的问题。但当我使用
    Cmd+S
    而不是热重新加载(闪电)按钮时,效果很好

    解决此问题有以下步骤

  • 检查导入包行,它应该是这样的
    包:您的文件
    不是
    文件://

  • 在终端/命令提示符中使用命令
    flatterclean
    然后
    flatterpub get

  • 注意:您必须从项目根目录使用这些命令


    在我的项目中,热重新加载突然停止工作。使用Android StudioWindows


    在移动文件时,Android Studio会重构导入,这很整洁。但它将使用绝对导入(C://Users/Projects/../file.dart),这将完全中断热重新加载。移动文件时要小心。

    这很奇怪,我几年前就遇到过这种情况
    import 'package:flutter_project/home_page.dart';