115

我是 Android 编程的菜鸟,想学习如何调试我的应用程序。我的 Log.i|d|v 调用似乎无法显示在 LogCat 中。

这是我正在使用的代码。如您所见,我已经定义了一个 LOG_TAG 常量,但似乎无法在 LogCat 中找到它。我还导入了 android.util.Log 并确保在我的 AndroidManifest 中将“可调试”设置为 TRUE。

我还检查了http://developer.android.com/reference/android/util/Log.html没有运气解决这个问题。

我究竟做错了什么?我什至找对地方了吗?我也尝试过使用 DDMS 和 Debug 透视图,但没有任何运气。对这个菜鸟的任何帮助将不胜感激。谢谢。

我的环境:Windows XP IDE = Eclipse 版本:3.6.1,构建 ID:M20100909-0800 模拟器 = 指向 android sdk 2.1 api 7

//非常基本的 HELLO World 代码,带有几个 Log.i 调用

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class debugger extends Activity {
    private static final String LOG_TAG = "debugger";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.i(LOG_TAG, "line 13");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Log.i(LOG_TAG, "CREATING NOW");
    }
}
4

31 回答 31

143

使用 Eclipse 时,在 DDMS 透视图中,确保选择并突出显示正确的设备(可能是 emulator-xxxx)。只有这样,您才能在 logcat 视图中获得 logcat 输出。

此外,Android 插件有点古怪,有时在 logcat 视图中只显示最后一行。如果发生这种情况,请尝试清除日志。之后,您应该再次获取所有日志条目(无论如何对我有用)。

于 2010-11-19T19:51:28.293 回答
71

如果一切都失败了:

我做了以上所有事情,无法弄清楚出了什么问题,

测试:

adb logcat

弄清楚我的条目实际上是在 logcat 中,但这是 adt 的怪癖。

使固定:

重启日食

这是修复它的唯一方法。

于 2013-02-18T14:58:54.260 回答
12

No Filters我在使用 Android Studio 时遇到了同样的问题,并通过在 LogCat 右上角的选择框中进行选择来设法解决。通过这样做,我开始接收所有 Android 在后台登录到 LogCat 的内容,包括我丢失的 Log 调用。

在此处输入图像描述

于 2014-11-11T16:14:53.490 回答
9

重新启动 Eclipse 并显示检查日志 cat。

于 2014-01-09T10:45:26.047 回答
6

我发现我正在自动导入com.sileria.Log(来自某个库项目)而不是android.util.Log,后者是正确的。还要检查您的进口。

于 2013-08-25T09:14:24.037 回答
3

我注意到 Eclipse 有时会在启动 Android 应用程序时抛出异常,然后 LogCat 停止更新。我已经通过简单地重新启动 Eclipse 来纠正这个问题。我不确定您是否尝试过,而且我知道它远非最佳解决方案,但我怀疑 Eclipse 插件仍有一些错误需要解决。

于 2010-11-19T19:46:35.447 回答
3

我需要使用命令重新启动 adb 服务adb usb

在此之前,我获得了所有日志记录并能够进行调试,但没有获得我自己的日志行(是的,我获得了与我的应用程序相关联的系统日志记录)。

于 2011-08-09T01:44:27.760 回答
3

最简单的方法:

检查您的 logcat 窗口 - 右上角暂停按钮 || (暂停接收新的 logcat 消息)

几次点击+最终重新启动eclipse(通常在我的情况下有效)

于 2012-03-22T16:27:40.063 回答
2

在 Android Studio 上:点击向右的绿色箭头重新开始记录;如果它不可见,请单击 >> 图标找到它。

于 2014-09-26T16:11:04.507 回答
2

您可能看不到日志的原因有很多,下面列出了其中的大部分。以下是检查大多数原因的一些步骤:

  1. 确保您的 AndroidManifest.xml 中没有 'android:debuggable="false"'
  2. 确保您的 logcat 没有暂停,并确保您滚动到底部
  3. 您的过滤器应该是“无过滤器”或您当前的应用
  4. 您在 logcat 设备列表中选择了正确的设备
  5. 如果您没有收到任何消息,请尝试重新启动 adb。您可以在 Android Studio 中通过单击“重新启动”图标来执行此操作,它就在 logcat 的打印图标之后,它看起来像一个从盒子里出来的绿色弯曲箭头。如果您没有看到它,请在 logcat 太小时将鼠标悬停在继续图标菜单的“>>”上。
于 2015-01-17T19:58:29.517 回答
1

我也是 Android-Eclipse 的新手。以下是我在 Eclipse 中显示 LogCat 消息的过程: 1:将其添加到调用 logcat 消息的类中: private static final String TAG = "MyActivity"; (根据此处的文档)

2:添加这个Log.i(TAG, "inLayout - finished"); 当您要在哪里显示消息时

如果上述方法不起作用,请关闭 Eclipse 并重新启动它并重新运行您的项目。

然后它应该工作。

于 2012-08-04T20:19:29.590 回答
1

还有一件事需要注意:

在 logcat 的右上角有一个用于按类型过滤消息的下拉表。确保它处于您正在寻找的级别(如果它将处于断言级别,它可能会使您的 logcat 为空)。

于 2013-03-10T15:33:01.537 回答
1

可能它不正确,而且有点长,但我通过使用这个解决了这个问题(Android Studio):

System.out.println("Some text here");

像这样:

try {
       ...code here...
} catch(Exception e) {
  System.out.println("Error desc: " + e.getMessage());
}
于 2014-12-21T21:03:37.627 回答
1

请转到任务管理器并终止 adb.exe 进程。重新启动你的eclipse。

或者

尝试adb kill-server然后adb start-server命令。

于 2014-12-30T06:40:05.540 回答
1

我在这种情况下花了几个小时。我只看到了触摸键日志。而已。问题是......智能手机。重启后就OK了。断开电缆导致问题返回。不得不重新启动它。看起来 Android USB 通信设计得不好。

于 2015-05-17T12:21:35.320 回答
1

快速解决。

重启eclipse就好了

完美运行。

于 2015-06-27T13:40:42.327 回答
0

使用 SDK 4.0.3,您必须在调试配置 > 项目 > 目标中明确选择它,否则它永远不会使用 Eclipse Indigo (3.7) 显示。当然会发生 Eclipse 重启。

于 2012-04-19T17:24:00.153 回答
0

我也遇到了在 logcat 中看到简单日志输出的问题。当我安装最新的 JDK 时,我的问题得到了解决。我刚刚设置了一台新的开发机器,只安装了 JRE 并安装了 JDK 对我有用。

于 2013-05-11T16:24:35.500 回答
0

其他答案都不适合我,但这确实:

我从工作区中删除了我的项目,然后从项目文件夹中删除了以点开头的所有内容(.settings、.project 等)。然后我重新导入了投影。我缺少一些设置和断点,但至少它有效。

于 2013-08-01T14:31:26.203 回答
0

我一直遇到这个问题,直到我将日志调用移到处理程序中之前似乎没有任何效果。现在它每次都有效,无论您身在何处。

于 2013-11-20T19:22:46.337 回答
0

我犯了在 logcat 搜索框中输入搜索词的错误。我忘了删除它,因此看不到新日志。因为它们与我的搜索词不匹配并且没有显示。

于 2014-01-09T09:46:31.577 回答
0

就我而言,我不得不删除这一行:

    <application
         android:debuggable="false"  <!-- Remove this line -->
         ..../>

来自我的清单文件中的应用程序标记。

于 2014-10-25T09:08:07.860 回答
0

对我来说最好的解决方案是重新启动 adb 服务器(虽然我在Android Studio 中启用了 ADB 集成 - 工具 - Android - 已选中)。为了快速做到这一点,我在目录(所在位置)adbr.bat内创建了文件,其中包含:android-sdk\platform-toolsadb.exe

adb kill-server
adb start-server

因为我在 PATH 系统变量中有这个文件夹,所以当我需要adb从 Android Studio 重新启动时,我只能写入终端adbr并完成。

执行此操作的另一个选项是通过设备选项卡中的Android 设备监视器- 单击右小箭头后的菜单 - 重置 adb

于 2014-10-29T18:33:00.397 回答
0

对于日食: 1)转到 ddms 透视图。2) 确保选择了正确的设备。3) 如果已经选择并且不显示日志,则重新启动 ABD。*希望这会解决。

于 2015-05-29T09:28:11.907 回答
0

我也用“adb usb”重新启动了 ADB 服务并为我解决了这个问题。事实上,我只有一项活动不再记录。所有其他人都记录了一些东西。重新启动 adb 后,一切都再次像魅力一样工作。对于正在寻找其他解决方案的其他人:adb kill-server,CLI 中的 adb start-server 通常也会解决您的问题。

于 2015-07-03T10:26:44.167 回答
0

一旦这将再次启动 LogCat,请强制关闭您的应用程序...

用它来强制关闭:D

setContentView(BIND_AUTO_CREATE);
于 2016-02-08T13:25:23.207 回答
0

有时问题不是来自另一方面的 IDE、ADB 等,而是来自您的设备没有向 ADB 发送日志,所以如果您尝试了前面提到的所有方法并且您的 logcat 仍然是空的,请尝试重新启动您的设备并再试一次。我尝试了上面提到的所有方法,但它们都没有奏效,但在我的手机重新启动后,logcat 像魔术一样工作

于 2016-11-05T13:25:31.113 回答
0

我有这个问题并已修复,String TAG 没有空格:

"my tag" // 注意 show
"my_tag" // 没问题

于 2017-06-07T06:36:31.497 回答
0

就我而言,我只需要为字符串添加一个名称。在第一种情况下,我只是在括号之间有一个空格

private static final String TAG = " ";

但是在添加了一个名字之后它就完美地工作了。

private static final String TAG = "oncreate";
于 2018-05-04T15:04:15.443 回答
0

升级到 Android 3.6.1 后,我多次遇到此问题。在我的情况下唯一有效的是重新启动设备。

于 2020-03-12T15:57:36.800 回答
-3

您正在尝试将运行代码放在工作空间上..所以尝试将您的代码放在运行代码上..

于 2014-04-20T04:16:57.187 回答