惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
爱范儿
爱范儿
Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss
B
Blog RSS Feed
博客园 - 聂微东
G
GRAHAM CLULEY
Engineering at Meta
Engineering at Meta
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
WordPress大学
WordPress大学
Scott Helme
Scott Helme
AI
AI
S
Security Affairs
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
T
Troy Hunt's Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
AWS News Blog
AWS News Blog
T
Threatpost
Cyberwarzone
Cyberwarzone
www.infosecurity-magazine.com
www.infosecurity-magazine.com
U
Unit 42
V
Vulnerabilities – Threatpost
J
Java Code Geeks
博客园 - Franky
月光博客
月光博客
Blog — PlanetScale
Blog — PlanetScale
NISL@THU
NISL@THU
D
Docker
小众软件
小众软件
N
News and Events Feed by Topic
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
A
Arctic Wolf
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
Forbes - Security
Forbes - Security
量子位
PCI Perspectives
PCI Perspectives
美团技术团队
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
I
InfoQ
Security Archives - TechRepublic
Security Archives - TechRepublic
有赞技术团队
有赞技术团队
腾讯CDC
P
Proofpoint News Feed
S
Security @ Cisco Blogs
G
Google Developers Blog
C
Cisco Blogs

博客园 - charlee44

Unity项目适配华为鸿蒙系统的原生库加载问题排查与解决 代码之外:一个技术人的职场困境与自我和解 记一次GIS专业职称水平能力测试考试 《GIS基础原理与技术实践》配套案例(Python版) 最小二乘问题详解:目录 最小二乘问题详解22:抗差估计与增量式SFM的工程稳健实现 最小二乘问题详解21:稀疏GCP约束下的自由网平差与弱约束融合 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 最小二乘问题详解18:增量式SFM核心流程实现 最小二乘问题详解17:SFM仿真数据生成 最小二乘问题详解16:束平差工程实践总结 最小二乘问题详解15:束平差原理与基础实现 最小二乘问题详解14:鲁棒估计与5点算法求解本质矩阵 最小二乘问题详解13:对极几何中本质矩阵求解 最小二乘问题详解12:三角化中的非线性优化 最小二乘问题详解11:基于李代数的PnP优化 最小二乘问题详解10:PnP问题求解 《实时渲染》第3章-图形处理单元-3.7几何着色器 《实时渲染》第3章-图形处理单元-3.6曲面细分阶段 《实时渲染》第3章-图形处理单元-3.5顶点着色器 《实时渲染》第3章-图形处理单元-3.4可编程着色和及其API的演变 为什么现代 C++ 库都用 PIMPL?一场关于封装、依赖与安全的演进 《实时渲染》第3章-图形处理单元-3.2GPU管线概览 我的GIS实践与思考:新书《GIS基础原理与技术实践》分享 从零实现一个生产级 RAG 语义搜索系统:C++ + ONNX + FAISS 实战 三维模型瓦片服务三剑客:3D Tiles、I3S与S3M全解析
Unity在安卓端如何调试输出信息
charlee44 · 2026-06-13 · via 博客园 - charlee44

Unity 程序构建到安卓端时,需要下载额外的安卓后端程序(可以通过 Unity Hub 进行安装)。这个安卓后端程序中包含了安卓 SDK,而在 SDK 的 platform-tools 目录下,我们可以找到一个非常核心的工具——ADB(例如笔者的路径为:D:\Program Files\Unity\Hub\Editor\2022.3.62f3\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\adb.exe)。

经常折腾安卓机的朋友对 ADB(Android Debug Bridge)应该不陌生,它是安卓系统提供的一个“调试桥”工具。简单来说,它就像是电脑和安卓设备之间的一个万能遥控器,允许我们通过命令行与设备进行通信,比如安装卸载应用、传输文件、查看系统底层日志等。

1. 捕获 Unity 专属日志

确保手机已通过数据线连接电脑,并在手机系统的“开发者选项”中开启了 USB调试模式。随后,我们在上述 platform-tools 目录下启动终端(如 PowerShell),输入以下指令:

./adb logcat -s Unity

这条指令的意思是:启动 Logcat 日志抓取工具,并使用 -s Unity 参数静默其他标签,只过滤并显示带有 "Unity" 标签的输出信息。

** 重点提示:** ADB 工具是独立于 Unity 编辑器运行的。也就是说,你完全不需要打开 Unity Editor,只要手机上的 Unity 程序处于运行状态,即可实时抓取日志信息。

2. 清除历史缓存日志

需要注意的是,logcat 默认会输出设备上缓存的历史日志信息。如果不想被旧日志干扰,可以在开始抓取前,先执行以下指令清除历史缓存:

.\adb logcat -c

3. 精准过滤关键信息

在实际开发中,系统输出的信息往往非常庞杂。为了提高排查效率,我们可以使用 -e 参数配合正则表达式来进行关键字过滤。例如,我们只想看某个特定模块的日志,可以使用如下指令:

./adb logcat -e "ARModePanelSwitcher"

为了完美配合这种过滤方式,我们在 Unity 编辑器端编写 C# 脚本时,可以刻意将关键信息格式化输出,例如:

Debug.Log("[ARModePanelSwitcher] ClearDetectedPlanes done");

这样在终端执行过滤命令时,就能像大海捞针一样,精准且快速地捕获到我们关心的关键业务逻辑了。

4. 将日志保存到本地文件

如果程序运行时间较长,或者我们需要将崩溃前的完整日志发给同事协助分析,终端一直滚动并不方便。此时可以使用 -f 参数将日志直接输出到指定文件中:

./adb logcat -s Unity -f D:/unity_log.txt

这样不仅方便后续用文本编辑器慢慢查阅,还能避免终端内存溢出导致的日志截断问题。

以上这套基于命令行的调试方案虽然看起来比较原始,没有图形化界面那么直观,但在很多场景下已经勉强够用,且极其轻量便捷,非常适合日常快速排查问题。