我最近把Flutter升级到了2.0.0,但是这个问题一直困扰着我。flutter run
和flutter run --profile
运行得很好,但是flutter run --release
会让应用程序在启动后崩溃。没有堆栈跟踪,没有错误或警告,没有构建问题或详细警告,真的没有提示。我在谷歌上搜索了很多,但是类似的问题得到了回答,比如“尝试删除这一行”或“尝试添加那一行”。
我应该采取什么步骤来调试此问题并找到根本原因,而不是尝试对代码进行无意义的更改,希望其中一些最终会解决此问题?
6条答案
按热度按时间bis0qfac1#
使用
adb logcat
或
在发布版本中启用调试,方法是修改您的android/app/build.gradle,如下所示
rbpvctlc2#
当错误与代码相关且不在flutter本身中时,sentry应提供帮助。
Sentry的Flutter SDK支持自动报告错误、消息和异常。
您可以像导入任何其他包一样导入它
并尽早在应用程序中进行配置
要得到你的公钥,你只需要在sentry.io上注册并创建一个flutter项目,不需要搜索你的密钥,它应该在示例代码中,它不会让你在没有初始化的情况下通过那个点,所以你不会错过它。关于flutter的文档可以在here上找到。
cbeh67ev3#
您可以使用Firebase Analytics查看从Firebase发布的设备的错误日志。以前它被命名为Fabric。
或者,您可以创建自己的日志跟踪器,将日志写入文件并将日志上传到服务器。
您可以在“高级设置”或类似的设置中为用户提供捕获日志并发送到服务器的选项。
wvt8vs2t4#
试试这个
flutter run --release --no-shrink
iq0todco5#
检查您是否在AndroidManifest.xml中为应用程序提供了正确的权限,在我的案例中,我只是通过提供摄像头权限来修复此问题
在标记之前
a64a0gku6#
在我的情况下,经过两天的混乱,因为应用程序崩溃,只有在发布模式下没有任何错误的控制台,和错误显示在
adb logcat
不清楚(未知错误),之后我切换Flutter通道从stable
到master
,运行后发布master channel
错误开始显示为明确的消息,我解决了这些错误,然后崩溃问题解决。所以我的步骤是:
1-通过在终端中运行以下命令,将Flutter通道切换至
master
:2-在终端中运行
upgrade
命令:3-以发布版本运行应用程序:
4-观察控制台以查看错误...