使用 Xamarin 无法为 android 模拟器打印设备日志

Posted

技术标签:

【中文标题】使用 Xamarin 无法为 android 模拟器打印设备日志【英文标题】:Device Logs not printing for android emulator using Xamarin 【发布时间】:2018-08-15 16:33:38 【问题描述】:

我的 Xamarin android c# 应用程序中有以下简单代码:

 [Activity(Label = "getSetTest", MainLauncher = true)]
    public class MainActivity : Activity
    
        protected override void OnCreate(Bundle savedInstanceState)
        
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            Log.Info("UniqueTest", "hello");

        


    

但是,日志未显示在设备日志输出控制台中。但是,它显示在 Visual Studio 的常规调试输出中。设备日志中根本没有出现任何日志。我正在 Visual Studio 的 android 模拟器上对其进行测试。

谢谢

【问题讨论】:

重启一下怎么样?或者您可以使用adb 命令获取设备日志。 【参考方案1】:

System.Diagnostics.Debug 通常用于在输出窗口中显示调试日志,您似乎正在寻找的是 logcat。

开发人员用来调试其应用程序的一个非常常见的技巧是调用 Console.WriteLine。但是,在像 Android 这样的移动平台上,没有控制台。 Android 设备提供了一个日志,您可以在编写应用程序时使用该日志。由于您键入检索它的命令,这有时被称为“logcat”。

Xamarin 有一个关于如何使用 logcat 的小指南,您可以找到 here

如果不是这样,请恢复。

祝你好运!

【讨论】:

您好,感谢您的回复,但是我已经添加了 logcat,这就是问题所在 - 没有记录任何内容。 据我所知,日志调试文件不应该转到日志猫,这就是为什么我首先向您发送了它的链接,因为它显示了如何将其发送到日志猫 好吧,它似乎只有在我首先启动模拟器时才有效,然后从工具>Android>设备日志添加android设备日志。但是,在模拟器已经运行之后,对于后续测试,日志不会显示 或者可能是它太快了,以至于您无法完全检查它? 现在它充满了“audio flinger -1”错误,但是当我为我制作的日志输入过滤器标签时,它们没有显示..

以上是关于使用 Xamarin 无法为 android 模拟器打印设备日志的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.UITests Android 设备未检测到或不工作

Xamarin iOS 模拟器无法连接到 Rest API

Xamarin 项目未显示在 Visual Studio Android 模拟器上

无法访问 Android 模拟器上的数据目录

适用于 Xamarin 的 Genymotion Android 模拟器

Visual Studio:Xamarin - 启动 Android 模拟器时出错