Xamarin 应用程序在调试时运行但在发布时崩溃

Ion*_*goi 5 c# crash android crash-reports xamarin

我的 Xamarin 应用程序在调试模式下运行良好,但在发布模式下崩溃。我收到此错误:“不幸的是,应用程序已停止”。我通过 USB 连接了我的手机,当我在发布模式下运行应用程序时,出现此错误。

不幸的是,我无法在 release mod 中调试应用程序,因为我在输出窗口中收到此消息:“Android 应用程序正在运行(在 android 项目属性中禁用调试)”,尽管选中了“启用开发人员检测”框。我尝试了所有链接替代 None/SDK/SDK 和 User 但仍然不起作用。

有没有办法在日志文件或其他内容中查看导致崩溃的原因?

cha*_*ier 8

经过几个小时的努力,就我而言,这是因为我在声明上方定义另一个资源时使用 App.xaml 文件中的静态资源。奇怪的是,它在调试模式下运行得很好,但由于某种原因,在发布模式下不断崩溃。查明问题后,我重新排序了声明,问题得到了解决。

无论如何,您可以做的是将 MainActivity 中的整个 onCreate 块包装在 try catch 块内,并将异常记录在某处,例如公共 http 请求记录器或将其写入文件。在撰写本文时,RequestBin已经提供了此类免费服务。创建端点后,只需向 url 发出 post 请求,并将异常消息作为数据。这是一个例子:

protected override void OnCreate(Bundle bundle)
{
    try
    {
        // oncreate logic
    }
    catch(Exception ex)
    {
        var client = new HttpClient();
        client.PostAsync("your logger api url", new StringContent(ex.ToString())).Wait();
    }
}
Run Code Online (Sandbox Code Playgroud)

希望这对某人有帮助。


Ven*_*ana 2

你可以尝试以下方法吗

\n
    \n
  1. 手动卸载在调试模式下部署的本地应用程序。部署发布应用程序。

    \n
  2. \n
  3. 更新您的 Xamarin 版本

    \n
  4. \n
  5. 项目设置 \xe2\x86\x92 Android 选项 \xe2\x86\x92 链接器 \xe2\x86\x92 Configuration = Release; 链接 = 仅 SDK 组件

    \n
  6. \n
\n