我正在尝试抖动,目前正在学习本教程 https://www.youtube.com/watch?v=j6c_vHdbUfg
我注意到该应用程序在调试模式下运行良好,但是当我在手机上尝试apk时,该应用程序在加载屏幕后显示灰色屏幕。我不太熟悉在移动设备上构建应用程序,不确定是什么原因导致了此问题。我曾尝试使用本教程中的github项目来构建apk,但它也存在此问题。 https://github.com/iamshaunjp/flutter-beginners-tutorial/tree/lesson-35
答案 0 :(得分:0)
我遇到此错误并解决了。
如果您使用的是窗口,请在Flutter控制台上运行所有命令
flutter channel master
flutter doctor
flutter channel dev
flutter doctor
flutter channel
flutter doctor --android-licenses
按y键也接受所有许可证
然后重新启动PC
答案 1 :(得分:0)
我遇到了同样的问题,并通过在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" />