如何调试仅在发布模式下崩溃的Android应用程序

Ran*_*ndy 5 android xamarin entity-framework-core android-8.1-oreo

一切都在调试模式下工作,但在发布模式下崩溃.调试模式中哪些必需权限在发布模式下未打开?

编辑

当我将链接设置为无时,我通过第一个屏幕进入我的登录屏幕.但是,当我添加了Release权限时Internet,它第一次尝试读取远程实体框架核心表时崩溃了.

编辑2

在发布模式下,如果我检查Use Shared Runtime,该应用程序运行正常.

编辑3

我暂时在Release模式下启用了Debugging.以下行仅在发布模式下抛出System.TypeInitializationException:

if (_context.bma_users.Any(p => p.username == _name.Text) && _name.Text != string.Empty)
Run Code Online (Sandbox Code Playgroud)

Hed*_*deH 10

假设你有Android Studio并且没有实现崩溃报告服务(Firebase,Crashlytics等......)

您可能希望首先看到崩溃日志打印:

  • 在Android Studio中打开Logcat.
  • 更改Log LevelError.
  • 确保您的设备已启用USB调试.
  • 将设备连接到计算机.
  • 让应用程序崩溃并查看它打印的内容.

如果你不能重现:

下次崩溃时,连接设备并执行与上述相同的操作.通常可以查看日志历史记录,滚动直到找到崩溃:)

寻找 FATAL EXCEPTION

  • 请记住 - 使用Logcat搜索栏可以清除日志历史记录,在大多数情况下,您可以重新连接设备以再次查看它.

  • 虽然您可能会找到崩溃的原因,但这并不是关于如何在发布模式下 **调试** 的答案。 (2认同)

War*_*ith 5

你已经假设“许可”,不知道为什么......

当我只有在发布模式下崩溃时,我禁用的第一件事是缩小(又名 ProGuard)。所以禁用混淆,再次构建并尝试查看是否仍然崩溃。如果没有,请一次重新启用 proguard 一行以查明原因。


Ran*_*ndy 1

答案是在屏幕下设置Additional supported encodings为。它似乎不相关,但我尝试了所有可能的组合,这最终成功了。WestAndroid OptionsProject Properties

  • 老实说,你在做什么? (2认同)