我的Xamarin应用程序在调试模式下完美运行但在发布mod上崩溃。我收到了这个错误:"不幸的是App停止了#34;。我通过USB连接手机,当我在发布模式下运行应用程序时,我收到此错误。
不幸的是我无法在发布模式中调试应用程序,因为我在“输出”窗口中收到此消息:" Android应用程序正在运行(在android项目属性中禁用调试)",尽管"启用开发人员检测"框已选中。我尝试了所有链接替代无/ SDK / SDK和用户,但仍然无法正常工作。
有没有办法在日志文件或其他内容中查看导致崩溃的原因?
答案 0 :(得分:0)
您可以尝试以下
解决方案1:卸载手动调试模式下部署的本地应用。部署发布应用程序。
解决方案2:更新您的Xamarin版本
解决方案3:项目设置→Android选项→链接器→配置=发布;链接=仅限Sdk程序集
答案 1 :(得分:0)
答案 2 :(得分:0)
我今天有同样的问题。在对配置和构建设置进行了几次试验之后,对我有用的唯一解决方案是通过NuGet软件包管理器更新所有与Xamarin相关的软件包。遇到这种情况时,您可以下次尝试。
答案 3 :(得分:0)
实际上,请清洁解决方案,卸载应用程序并卸载API可以正常工作
答案 4 :(得分:0)
经过数小时的努力,我的情况是因为我在App.xaml文件中使用静态资源,同时在声明上方定义了另一个资源。奇怪的是,它在调试模式下可以完美运行,但是由于某种原因,它在发布模式下一直崩溃。查明问题后,我对声明进行了重新排序,问题已解决。
无论如何,您可以做的是将整个onCreate块包装在MainActivity中的try catch块内,并将异常记录在某个地方,例如公开的http请求记录器或将其写入文件。在撰写本文时,RequestBin提供了这种免费服务。创建端点后,只需向URL发出发布请求,并以异常消息作为数据即可。这是一个示例:
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.Message)).Wait();
}
}
希望这对某人有帮助。
答案 5 :(得分:0)
我在项目属性中为“发布”关闭了“优化代码”。为我工作。