【问题标题】:Debugging Xamarin Android apps if I'm using VSTS hosted builds / HockeyApp如果我使用 VSTS 托管构建/HockeyApp,则调试 Xamarin Android 应用程序
【发布时间】:2016-08-31 15:06:40
【问题描述】:

我一直在使用 Visual Studio Community 2015 开发 Xamarin Android 应用程序。到目前为止,一切都可以很好地进行调试,因为我只是在 VS 中构建了我的应用程序,并将我的手机连接到我的笔记本电脑并使用 F5 进行调试。

最近,我开始使用 HockeyApp 进行崩溃报告,这样当我使用我的应用程序时(在我不编程的那一天),如果它崩溃了,我可以发送崩溃报告。这工作正常,但崩溃报告不包括行号,而且我也没有很好地参考应用程序的构建崩溃,因为应用程序本身实际上并没有上传到 HockeyApp,调试符号也没有.

为了帮助解决这个问题,我正在尝试使用 Visual Studio Team Services 更有条理,在签入我的源代码时进行托管构建,并将应用程序和调试符号自动上传到 HockeyApp。

现在我试图在脑海中调和这应该如何为我工作。如果我在 VS 中编码并通过 VS 进行调试,则该应用程序将部署到我的手机上。但是现在,我检查了源代码,VSTS 进行了 CI 构建并将所有内容上传到 HockeyApp。但是现在,VSTS 所做的 CI 构建与我手机上的构建不同,因为该构建来自 Visual Studio 构建。

因此,当我在当天晚些时候完成编码时,我运行我的应用程序并崩溃,我担心来自 HockeyApp 的崩溃报告实际上与 Hockeyapp 所拥有的内容无关。一方面,我可能没有对源代码管理进行签入,在这种情况下,我的手机将拥有比 HockeyApp 更新的版本。但即使我记得签入它,它也确实不是同一个“构建”(因为我的手机有 Visual Studio 构建的 APK,而 HockeyApp 有 VSTS 构建的 APK)。

问题:

1) 有没有办法直接从 Visual Studio 上传我的应用程序和调试符号,而无需通过 VSTS 构建? (最好在每次构建时自动进行,这样我就不必记得做额外的步骤了)?

2) 如果没有,解决我上面提到的问题的最佳做法是什么?

理想情况下,当我完成一天的编码后,我不想做任何额外的步骤。我希望能够始终知道我构建并部署到手机的最后一个版本将已上传到 HockeyApp,这样如果它崩溃,HockeyApp 发送的崩溃存储库将与正确的源代码和调试符号匹配。

【问题讨论】:

  • 对于 UWP 应用,我们可以使用 VS 上传符号:support.hockeyapp.net/kb/…,但对于 Android 构建,它确实使用 VSTS/TFS。

标签: visual-studio xamarin.android azure-devops hockeyapp


【解决方案1】:

对于您的第一个问题,这取决于您从事的项目。如果您正在处理 UWP 项目,则当您右键单击该项目时,有一个“启用崩溃分析”选项和“使用 Hockey 应用程序分发”选项允许您执行此操作。但是,如果您正在处理 Xamarin.Android 项目,则无法执行此操作。您需要手动将它们上传到 Hockey App。但是,您可以创建一个 power-shell 脚本来将这些文件上传到 Hockey App,并将这个 power-shell 脚本配置为构建后事件。您可以在此处查看 power-shell 脚本以供参考:upload_file.ps

对于 Visual Studio Team Services (VSTS) 构建,您只需要确保应用版本和构建配置与您在本地计算机上通过 VS 进行调试完全相同。 Hockey App 会自动检测版本并将数据发送到相关的构建版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多