【问题标题】:Log.d is not working when filtering logcat过滤 logcat 时 Log.d 不起作用
【发布时间】:2017-03-19 11:38:54
【问题描述】:

我的详细 logcat 不适合

Log.d("b","Hi stack.");

因为我正在使用 gc.uploaderimager(我的包名)过滤 logcat。如果我不使用我的包名 logcat 过滤 logcat 太快,消息过多。

1 周前,没有问题,我记得我没有进行任何过滤,也没有过多的消息。 1 周前发生了什么?我无法理解。

现在,如果进行过滤,我可以不查看日志消息。

如果不进行不过滤,我的 logcat 速度太快且不可读。

那有什么办法呢?

package gc.uploaderimager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.d("b","Hi stack.");
    }
}

【问题讨论】:

  • 如何过滤logcat?您是在命令行中使用 adb logcat 执行此操作,还是在 Android Studio 中使用 Android Monitor 窗口?
  • 如果您在过滤器字段中输入“stack”会发生什么?
  • 我遇到过几次这个问题;我相信这是 Android Studio 中的一个错误。我通常只是重新构建+运行应用程序,它会再次正确检测到应用程序。

标签: android filter logcat android-logcat


【解决方案1】:

根据我的经验,Android Studio 中的 Android Monitor 视图有点不稳定。您的应用程序包名称应出现在当前显示“无可调试应用程序”的组合框中。您应该通过在命令行中键入 adb kill-server 然后 adb start-server 来重新启动 adb。 (您可能需要将cd 添加到您的Android SDK 安装中的platform-tools 目录,或者将此目录添加到您的操作系统配置中的PATH。)执行此操作后,您可能还需要重新启动Android Studio。

由于 Android Studio 在查看 logcat 方面存在问题,因此很多开发者使用第三方工具代替。来自 Jake Wharton 的pidcat 是一种受欢迎的选择。

附录:

部分问题是您的日志输出不包含输出行中的包名称:

11-05 23:28:58.554 28331-28331/? D/b: Hi stack.

? 应该是你的包名。事实上,输出中的所有行都有这个 ? 包名应该在哪里。我不知道确切的原因,但我可以考虑检查一些事情:

  1. 确保您的手机已启用 USB 调试。

  2. 如上所述重新启动 adb。您也可以尝试在 Android Studio 的 Android Monitor 窗口左侧工具栏中的 Restart 按钮。

【讨论】:

  • 另外,我记得他的包名应该在logcat中可见
  • 你在用什么?小猫?你建议我吗?如果是,我不会再在这个问题上浪费时间了。
  • @serkanstack 我通常会尽可能地使用 Android Studio。
  • 我是初学者。你推荐这个脚本给初学者吗?
  • @serkanstack 我在回答中添加了更多建议。 pidcat 无论您的技术水平如何,都绝对值得一试。
猜你喜欢
  • 2013-07-28
  • 2013-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多