> ## Documentation Index
> Fetch the complete documentation index at: https://openidea.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Android 与 Logcat

> 在 Logcat 工具窗口中查看已连接 Android 设备或模拟器的日志。

OpenIDEA 目前的 Android 支持就是 **Logcat 日志** 工具窗口：通过 `adb` 实时显示已连接设备或模拟器的日志，并提供级别和文本过滤。它不负责构建、安装或运行 Android 应用，也不管理模拟器、不编辑 Android 资源。

## 准备 adb

Logcat 调用的是 Android SDK platform-tools 里的 `adb`，OpenIDEA 不自带。查找顺序如下：

1. 环境变量 `OPENIDEA_ADB`（可执行文件的完整路径）。
2. `ANDROID_HOME` 或 `ANDROID_SDK_ROOT` 下的 `platform-tools/`。
3. 常见 SDK 位置：`~/Library/Android/sdk`（macOS）、`~/Android/Sdk`（Linux）、`%LOCALAPPDATA%\Android\Sdk`（Windows）。
4. `PATH` 中的 `adb`，再找几个常见安装路径，例如 `/opt/homebrew/bin/adb`、`C:\platform-tools\adb.exe`。

> [!NOTE]
>
> 在 macOS 上，从程序坞启动的应用读不到 shell 配置文件里导出的环境变量。如果依赖 `ANDROID_HOME`，请把 SDK
> 装在默认位置，或者从终端启动 OpenIDEA。

## 打开 Logcat

第一次打开之前，Logcat 不会出现在工具窗口栏上。可以通过 **更多工具窗口**（工具窗口栏上的 `…` 按钮）、**视图 › 工具窗口 › Logcat 日志**，或查找操作（`⌘⇧A` / `Ctrl+Shift+A`）打开。不打开项目也能用。

用 USB 连接设备或启动模拟器。设备列表按 `型号 (序列号)` 显示；离线或未授权的设备会列出来但不能选择。接入新设备后点 **刷新设备**。

选中设备后，Logcat 先显示其缓冲区里最近 200 行，然后持续跟随新输出。切换到其他设备时视图会清空重来。

## 工具栏

| 控件 | 作用 |
| - | - |
| **设备** | 要查看的设备。 |
| **最低级别** | 只显示该级别及以上的行：Verbose、Debug、Info、Warnings、Errors、Fatal。不符合 logcat 格式的行总是显示。 |
| 过滤框 | 过滤表达式（见下文）。 |
| **过滤历史** | 最近用过的过滤条件，**清除历史记录** 可清空。 |
| **暂停** / **继续** | 暂停刷新视图。暂停期间收到的行会在继续时补上。 |
| 滚动到末尾 | 跟随最新一行。向上滚动会停止跟随，再点一次按钮恢复。 |
| **清除** | 清空视图。设备自身的日志缓冲区不会被清除。 |
| **刷新设备** | 重新向 `adb` 获取设备列表。 |

底部状态栏显示日志流是否在运行、暂停时显示 `Paused`、行数（过滤后显示为 `显示数 / 总数`），过滤表达式无效时还会显示错误。

## 过滤表达式

过滤框的写法和 Android Studio 的 Logcat 一致：

| 表达式 | 匹配 |
| - | - |
| `tag:glide` | 标签包含 `glide` |
| `message:boom`（或 `msg:`） | 消息包含 `boom` |
| `pid:4242` | 进程 ID 或线程 ID 为 4242 |
| `level:error`、`level:warn,error`、`level:e` | 级别为其中之一（可写名称或首字母） |
| `-tag:chatty` | 排除匹配的行（也可以用 `!`） |
| `a b` | 同时满足（也可以用 `&`） |
| `a\|b` | 满足其一 |
| `(a\|b) -c` | 分组 |
| `message~:^Tile.*` | 不区分大小写的正则表达式 |
| `message:"two words"` | 带引号的值 |
| `glide` | 不带字段的词会匹配标签、消息或 `#pid` |

文本匹配不区分大小写。按 `Enter` 把当前过滤条件存入历史，在过滤框里按 `↑` / `↓` 可以翻看之前的条件。历史最多保留 20 条。

## 限制

* 视图只保留最近 20,000 行。
* 一次只能查看一台设备。
* 没有按应用包名或进程选择的功能，不能保存过滤预设，也不能导出日志。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.