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安卓开发者而言,无论是初级开发者快速上手真机调试,还是资深开发者排查复杂的内存问题和崩溃问题,该拓展包都是不可或缺的调试辅助工具,值得在日常安卓开发项目中集成和使用。

相关推荐
lingxiao1688818 小时前
WebApi详解+Unity注入--上篇:基于Framework的WebApi
c#·wpf·web
frontend_frank18 小时前
脱离 Electron autoUpdater:uni-app跨端更新:Windows+Android统一实现方案
android·前端·javascript·electron·uni-app
ttod_qzstudio19 小时前
从Unity的C#到Babylon.js的typescript:“函数重载“变成“类型魔法“
typescript·c#·重载·babylon.js
薛晓刚19 小时前
MySQL的replace使用分析
android·adb
DengDongQi19 小时前
Jetpack Compose 滚轮选择器
android
stevenzqzq19 小时前
Android Studio Logcat 基础认知
android·ide·android studio·日志
代码不停19 小时前
MySQL事务
android·数据库·mysql
朝花不迟暮19 小时前
使用Android Studio生成apk,卡在Running Gradle task ‘assembleDebug...解决方法
android·ide·android studio
yngsqq19 小时前
使用VS(.NET MAUI)开发第一个安卓APP
android·.net