【问题标题】:Flutter android grey screen in release mode even if there are no errors or red screens in debug mode发布模式下 Flutter android 灰屏即使在调试模式下没有错误或红屏
【发布时间】:2021-03-05 19:13:17
【问题描述】:

在 android 真实设备上的启动画面之后,我在启动时出现灰屏。我已经解决了所有错误或红屏,然后再次尝试,但仍然保持不变。

注意:在这个应用程序之前,我已经发布了 2 个版本的这个应用程序来玩商店。所以这不是第一个。

我的日志

Flutter run key commands.
h Repeat this help message.
c Clear the screen
q Quit (terminate the application on the device).
I/flutter (24661):                              <-- stops here nothing after this

【问题讨论】:

  • 灰屏很可能表示 UI 错误,例如空指针异常。您能否发布显示灰色屏幕的代码?
  • 好的,那么它是一个 ui 错误而不是一个函数错误,对吧??因为我已经解决了所有功能错误。发布代码...它在启动画面之后开始显示,我不知道问题发生在哪个页面。
  • 问题是在起始页还是在应用程序的任何地方?我问这个是因为它在启动画面之后开始显示?
  • @sameer kashyap 我已经编辑了这个问题......我已经添加了应用程序在调试模式下在我的一部手机中的行为......它只是卡在安装......并告诉签名 diesnt在发布模式下匹配,但在发布模式下显示灰屏并且调试工作正常。
  • 那么它很可能在早期显示的小部件之一中,您是否再次尝试过调试模式?它肯定会出现。

标签: android flutter debugging error-handling release


【解决方案1】:

没有什么对我有用,因为 UI 中没有错误。错误出现在主应用程序的开头。在Firebase.initializeApp(); 之前添加await 之后就像奇迹一样。

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setSystemUIOverlayStyle(
      SystemUiOverlayStyle(statusBarColor: Colors.transparent));
  **await** Firebase.initializeApp(); //adding await solved the problem
  SharedPreferences.getInstance().then((prefs) {
    var brightness = SchedulerBinding.instance.window.platformBrightness;
    if (brightness == Brightness.dark) {
      prefs.setBool('darkMode', true);
    } else {}
    var darkModeOn = prefs.getBool('darkMode') ?? false;
    runApp(
      ChangeNotifierProvider<ThemeNotifier>(
        create: (_) => ThemeNotifier(darkModeOn ? darkTheme : lightTheme),
        child: MaterialApp(
          home: root(),
        ),
      ),
    );
  });
}

【讨论】:

    【解决方案2】:

    有时它在调试模式下运行良好,但在发布模式下 工作。您可以通过在终端中运行以下命令来捕获该错误。

     flutter run --release 
    

    命令编译为发布模式。当出现灰屏时,您可以检查您的调试控制台。

    【讨论】:

    • 我只是这样做...它是灰色的屏幕,在调试控制台中什么也没有显示...请再次阅读我的问题.?.我需要帮助...
    • I/flutter (17690): &lt;- stopped here。好像你用print 打印了一些东西?你是用上面的命令把它作为发布模式运行的吗?
    • 不,我没有使用 print....日志停在那里,是的,我已经使用命令运行
    • @sameer kashyap 、 @aligator 和 @Assassin 请帮助日志阅读器停在I/flutter (17690): 但它应该显示 `I/flutter (17690): completed or other things after that` 我害怕这不是 UI 错误,可能是一些 android 构建错误或其他任何问题,请帮助我......
    • 但它应该显示`I/flutter (17690): completed or other things after that`.. 你为什么期望它会显示这个?请贴出相关代码
    猜你喜欢
    • 1970-01-01
    • 2020-04-17
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 2012-05-19
    • 2021-05-05
    • 2011-07-07
    相关资源
    最近更新 更多