Android远程设备调试:日志未在调试控制台显示
Android Logcat自定义日志不显示的排查方案
检查Logcat过滤器配置
- 确认Logcat顶部的包名过滤器是否选中当前调试应用的包名,而非"全部应用"或其他无关包名——包名不匹配会直接过滤掉你的自定义日志。
- 核对日志级别过滤选项:如果用
Log.i()输出Info级日志,但过滤器设为Warn/Error级别,自然看不到对应日志,建议先切换到Verbose级别排查。
检查Build Variant配置
- 确认当前使用的是Debug变体:Release版本默认会通过R8/ProGuard移除
android.util.Log相关代码,导致日志无法输出,切换到Debug版本再测试。 - 若需在Release版本保留日志,可在Module级
build.gradle中修改混淆规则:
然后在buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles file('proguard-log.pro') } }proguard-log.pro中添加规则:-keepclassmembers class android.util.Log { public static *** d(...); public static *** i(...); public static *** w(...); public static *** e(...); }
- 确认当前使用的是Debug变体:Release版本默认会通过R8/ProGuard移除
调整远程设备日志缓冲区
- 部分低内存远程设备的日志缓冲区过小,会导致自定义日志被覆盖,可通过adb命令调整:
调整后重启Logcat查看效果。adb logcat -G 64M
- 部分低内存远程设备的日志缓冲区过小,会导致自定义日志被覆盖,可通过adb命令调整:
验证Log调用的正确性
- 检查
Log调用的语法是否正确,比如Log.i(TAG, "日志内容")中的TAG是否有效、消息是否为空,也可以直接搜索自定义TAG,快速定位日志是否存在。
- 检查
内容的提问来源于stack exchange,提问作者Maciej
相关产品推荐
相关产品推荐

