Flutter应用在发布模式下显示灰屏,但在调试模式下运行良好

时间:2019-12-27 14:19:19

标签: android flutter

我正在尝试抖动,目前正在学习本教程 https://www.youtube.com/watch?v=j6c_vHdbUfg

我注意到该应用程序在调试模式下运行良好,但是当我在手机上尝试apk时,该应用程序在加载屏幕后显示灰色屏幕。我不太熟悉在移动设备上构建应用程序,不确定是什么原因导致了此问题。我曾尝试使用本教程中的github项目来构建apk,但它也存在此问题。 https://github.com/iamshaunjp/flutter-beginners-tutorial/tree/lesson-35

6 个答案:

答案 0 :(得分:0)

我遇到此错误并解决了。

如果您使用的是窗口,请在Flutter控制台上运行所有命令

flutter channel master
flutter doctor
flutter channel dev
flutter doctor
flutter channel
flutter doctor --android-licenses

按y键也接受所有许可证

然后重新启动PC

答案 1 :(得分:0)

这是Flutter崩溃。

我遇到了同样的问题,并通过在flutter项目中安装SENTRY错误日志解决了该问题。 我花了30分钟来安装和修复:)

以下是有关SENTRY的正式文档的链接: https://flutter.dev/docs/cookbook/maintenance/error-reporting

P.S。 在安装时也要仔细检查导入,因为您可能会出现dart:html错误。 看到: Flutter build cannot find 'dart:html'

P.P.S 如果您安装SENTRY,请确保您的应用可以访问AndroidManifest.xml中的互联网

<manifest xlmns:android...>
 ...
 <uses-permission android:name="android.permission.INTERNET" />
 <application ...
</manifest>

祝你好运!

答案 2 :(得分:0)

捕手似乎是一个不错的解决方案。我有一个类似的问题,并尝试一下 https://pub.dev/packages/catcher

答案 3 :(得分:0)

我认为问题出在代码上。

在您的参考代码 Home.dart 文件中,您正在根据条件(三元运算符)设置图像和颜色

String bgImage = data['isDaytime'] ? 'day.png' : 'night.png'; 
Color bgColor = data['isDaytime'] ? Colors.blue : Colors.indigo[700];
<块引用>

错误是:布尔表达式不能为空

因为 data['isDaytime] 最初为 null。

如果data['isDaytime']null,你必须设置一个选项值,就像这样

String bgImage = data['isDaytime'] ?? false ? 'day.png' : 'night.png'; 
Color bgColor = data['isDaytime'] ?? false ? Colors.blue : Colors.indigo[700];

答案 4 :(得分:-2)

我遇到了完全相同的问题,并使其正常工作。

您需要做的是在 AndroidManifest.xml 中添加以下行:

<uses-permission android:name="android.permission.INTERNET" />

可在以下位置找到它: android / app / src / main /

您可能看到的原因是android需要访问http请求的此权限。

答案 5 :(得分:-2)

我遵循了相同的教程,遇到了相同的问题。

将此行添加到 android / app / src / main / AndroidManifest.xml 文件中,紧接在标记之前

<uses-permission android:name="android.permission.INTERNET" />