如何在模拟器上运行Flutter应用程序的发布版本

24

我需要在各种设备上截取我的Flutter应用程序的屏幕截图。由于我没有多种物理设备,所以我需要使用模拟器。但是,我无法弄清如何以非调试模式运行我的应用程序--我始终会看到右上角的“Debug”横幅。我如何在iOS模拟器中运行Release版本构建?

当我尝试:flutter run --release时,它会显示:“发行版模式不支持模拟器。

当我尝试:flutter install时,它会说:

[ +108 ms] An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
                    Failed to install the requested application
                    An application bundle was not found at the provided path.
                    Provide a valid path to the desired application bundle.
[  +12 ms] "flutter install" took 4,601ms.
Install failed

我可以在不显示调试标语的情况下运行调试版本吗?


如果你想要不同的屏幕尺寸,你会发现这个非常有用。 - hewa jalal
6个回答

27

由于模拟器只能在实际设备上运行,因此您无法在模拟器上运行发布模式。

但是,您可以通过在MaterialApp()中传递debugShowCheckedModeBanner:false来删除调试横幅。

MaterialApp(
  debugShowCheckedModeBanner:false,
  home:...
)

9

命令flutter run --release编译为发布模式。

要移除“调试横幅”,您可以使用MaterialApp()小部件的debugShowCheckedModeBanner属性。如果将此属性设置为false,则横幅将消失。

class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
        return MaterialApp(
            home: HomePage(),
            debugShowCheckedModeBanner: false,
        );
    }
}

2
来自评论:请不要以图像形式提供源代码,请始终以文本形式发布。 - sɐunıɔןɐqɐp

5

不可以在模拟器上运行发布版本。你需要一个实际设备来运行发布版本,而且iOS设备不支持发布版本。

如果你想从你的应用中移除调试标志,

请在你的MaterialApp中添加这一行。

debugShowCheckedModeBanner:false,

在安卓设备上运行发布版本,请按如下步骤操作:
flutter run --release

获取发布版本并存储在您的设备上。
flutter build apk --release

这将生成一个发布版本,如果您想获取普通版本,请运行以下命令。
flutter run

如果您想获取iOS构建,您需要运行此命令(您不能在Windows和Linux计算机上运行此命令,您需要使用MAC系统来获取iOS构建)。

flutter build ios

我希望这能帮助一些刚接触Flutter的人。

-1
  1. 运行 flutter clean

  2. 在清单文件中启用 android:debuggable="true"

  3. flutter build --release

在模拟器 Pixel 3 和真实设备上测试通过。


4
这可能适用于Android,但OP问的是如何在iOS模拟器上运行。 - jeroen-meijer

-1

-1

对我来说,运行flutter run --release甚至在模拟器上也可以,并且我也收到了FCM通知。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接