Unity3d C# 基于安卓真机调试日志抓取拓展包(Android Logcat)

前言

在Unity3d进行安卓平台应用开发时,真机调试阶段的日志排查、性能监控一直是核心痛点。以往开发者大多依赖adb logcat命令行工具查看实时日志,不仅操作繁琐、缺乏可视化界面,还难以快速筛选有效信息、统计应用内存状态,更无法便捷地进行截屏录屏留存调试场景。而Android Logcat拓展包恰好解决了这些痛点,它为Unity开发者提供了一站式安卓真机调试方案,支持日志消息可视化查看、应用内存精准统计、调试场景截屏录屏等核心功能,大幅提升安卓真机调试效率。

效果


Logcat

Android Logcat拓展包是专为Unity安卓开发打造的调试辅助工具,核心围绕"简化真机调试流程、提升问题排查效率"设计,无需开发者具备深厚的Android原生开发知识,仅需在Unity项目中简单集成即可使用。

Android Logcat 包需要 Unity 2019.4 及以上版本及 Android 支持模块。

安装包

要将Android Logcat包添加到你的项目中,请使用Unity包管理器( Unity Package Manager)。Unity 菜单 Window > Package Manager 打开窗口,在Packages:Unity Registry中搜索Android Logcat ,点击安装(Install),等待安装完成即可。

完成后 Unity菜单 Window > Analysis > Android Logcat 打开窗口

快捷键Alt+6 (macOS: Option+6)

连接设备

1.物理连接 -安卓真机通过USB数据线与电脑连接,确保数据线支持数据传输(而非仅充电); 真机已开启"开发者选项"和"USB调试"(部分机型还需开启"USB安装""USB调试(安全设置)"); 。

2.无线连接 - 打开Unity中的Build Settings窗口,点击Run Device 的下拉框,选择,输入设备的IP即可:

日志查看

这是Android Logcat拓展包的核心基础功能,相比原生adb logcat命令行,可视化界面大幅提升了日志排查效率。

提供自动抓取,设备切换、包选择、搜索、重连、断连等操作菜单:

对于日志,可以通过Tag进行过滤查看:

应用内存

除了日志查看,该包体还提供了实时的应用内存监控功能,帮助开发者在调试阶段及时发现内存泄漏、内存占用过高的问题,为性能优化提供数据支撑。

菜单点击 Tools > Window > Memory 打开

它可以定期自动捕获所选应用程序的内存快照,但如果这影响了应用程序的性能,你可以关闭自动捕获,改按按钮手动捕获内存快照。

截屏录屏

该功能解决了调试过程中"关键场景无法留存"的问题,无需借助第三方手机截屏工具,可直接通过Logcat包体完成截屏和录屏操作,方便后续复现问题和分析场景。

菜单点击 Tools > Screen Capture打开此窗口。

可以选择录像或者截屏:

调用链(Stacktrace)

在Unity安卓开发中,当应用出现报错(ErrorFatal级别)时,仅靠简单的报错信息往往难以定位具体的代码问题,而Android Logcat拓展包提供的完整调用链(Stacktrace)功能,可帮助开发者快速锁定报错根源。

在菜单的Tools > Stacktace Utility 打开此窗口。

复制粘贴包含地址的日志并点击 "Resolve Stackraces" 例如: 2019-05-17 12:00:58.830

30759-30803/? E/CRASH:##0 pc e02983fc

/data/app/com.mygame**/lib/arm/libunity.so

Original 将Log粘贴到此页的文本区域。

Resolve 标签查看已解析的stacktrace。

输入

Inputs window 是 Android Logcat 拓展包的实用辅助功能,核心作用是为你的 Unity 安卓应用提供输入注入窗口,支持在电脑端直接模拟安卓真机上的各类用户交互操作,无需手动在真机上进行点击、滑动等操作,大幅提升操作相关问题的复现和调试效率。

菜单中点击Tools > Window > Inputs 即可打开,包含多种类型:

键盘Keyboard keys; 光标Cursor keys;数字键盘Numpad keys;杂项键盘Miscellaneous keys;电视遥控器TV keys;文本发送窗 Send text window

注:受 shift 修饰符影响的密钥事件通过 - adb shell 输入 keyevent <key_code> 命令发送; 不受 shift 修饰符影响的关键事件通过 - adb shell 输入文本命令发送。

问题

1.无设备 : 设备连接问题,检查物理usb线、插口、设备开发者&调试选项。

局域网可以尝试无线模式。

2.无法打开 : 快捷键无法打开,或Unity菜单 Window > Analysis下没有 Android Logcat项:

检查Build Settings是否切换至Andriod平台:

3.无功能 : 如找不到输入功能,检查Unity 和 Android Logcat版本,作者版本为:Unity2022.3, Android Logcat 1.4.6,以上功能都有。其他版本可能存在功能差异或者兼容支持问题,具体可参考查看[Android Logcat - Unity 手册]

总结

Android Logcat拓展包作为Unity安卓真机调试的得力工具,通过可视化界面整合了日志查看、内存监控、截屏录屏、调用链追溯 等核心功能,舍弃adb logcat命令行操作,大幅降低了安卓真机调试的门槛,提升了问题排查和性能优化的效率。对于Unity安卓开发者而言,无论是初级开发者快速上手真机调试,还是资深开发者排查复杂的内存问题和崩溃问题,该拓展包都是不可或缺的调试辅助工具,值得在日常安卓开发项目中集成和使用。

相关推荐
冠希陈、9 分钟前
PHP 判断是否是移动端,更新鸿蒙系统
android·开发语言·php
人工智能AI技术2 小时前
【C#程序员入门AI】本地大模型落地:用Ollama+C#在本地运行Llama 3/Phi-3,无需云端
人工智能·c#
晚霞的不甘3 小时前
Flutter for OpenHarmony从零到一:构建《冰火人》双人合作闯关游戏
android·flutter·游戏·前端框架·全文检索·交互
2601_949833393 小时前
flutter_for_openharmony口腔护理app实战+饮食记录实现
android·javascript·flutter
独自破碎E3 小时前
【滑动窗口+字符计数数组】LCR_014_字符串的排列
android·java·开发语言
stevenzqzq3 小时前
compose 中 align和Arrangement的区别
android·compose
VincentWei953 小时前
Compose:MutableState 和 mutableStateOf
android
jian110583 小时前
Android studio配置flutter,mac Android studio 发现苹果手机设备
android·flutter·android studio
2501_940007894 小时前
Flutter for OpenHarmony三国杀攻略App实战 - 性能优化与最佳实践
android·flutter·性能优化