方便的Unity真机调试工具:LogViewer
再也不用为真机调试发愁!!
项目开发时候有些调试需要在真机才能看到运行结果,例如:第三方支付、登陆、分享等功能。需要在真机上查看日志,每次插线调试很不方便,unity的AssetsStore终有一款免费的调试工具:LogViewer,此文章推荐大家接入LogViewer方便调试。
1. 导入工具
AssestStore 搜索 LogViewer,导入Unity。
2. 创建LogViewer GameObject
导出LogViewer后会在选择Reporter/create创建LogViewer的GameObject,会自动生成在场景中,名为Reporter。
注意:项目有多个场景,需要在入口场景创建,会跟在DontDestroyOnLoad中跟随整个项目的进行。
此时就可以愉快的使用了:屏幕使用手势画圈,调出界面。
3. 扩展
3.1 手势设置
在Reporter上的Reporter组件中名为NumOfCircleToShow属性,作用为:手势画圈个数调起界面。
3.2 启用/禁用
/Assets/Unity-Logs-Viewer/Reporter/Reporter.cs文件中,大概在1780行左右,有如下代码:
void Update(){fpsText = fps.ToString("0.000");gcTotalMemory = (((float)System.GC.GetTotalMemory(false)) / 1024 / 1024);//addSample();#if UNITY_CHANGE3int sceneIndex = SceneManager.GetActiveScene().buildIndex ;if( sceneIndex != -1 && string.IsNullOrEmpty( scenes[sceneIndex] ))scenes[ SceneManager.GetActiveScene().buildIndex ] = SceneManager.GetActiveScene().name ;
#elseint sceneIndex = Application.loadedLevel;if (sceneIndex != -1 && string.IsNullOrEmpty(scenes[Application.loadedLevel]))scenes[Application.loadedLevel] = Application.loadedLevelName;
#endifcalculateStartIndex();// 这里 增加自定义判断条件if (!show && isGestureDone()) {doShow();}if (threadedLogs.Count > 0) {lock (threadedLogs) {for (int i = 0; i < threadedLogs.Count; i++) {Log l = threadedLogs[i];AddLog(l.condition, l.stacktrace, (LogType)l.logType);}threadedLogs.Clear();}}
在你 doShow()
函数调用时,可以修改代码自定义增加判断条件,可根据release版本还是beta版本等。
3.3 设备信息存储文件
LogViewer会在每次初始化时候存储一个本地设备信息文件:build_info.txt,不同设备会做修改,协同开发会出现此文件冲突,需要在SVN或者Git中将此文件过滤,或者修改代码解决此文件。
在/Assets/Unity-Logs-Viewer/Reporter/Editor/ReporterEditor.cs文件有如下代码:
public class ReporterModificationProcessor : UnityEditor.AssetModificationProcessor
{[InitializeOnLoad]public class BuildInfo{static BuildInfo(){EditorApplication.update += Update;}static bool isCompiling = true;static void Update(){if (!EditorApplication.isCompiling && isCompiling) {//Debug.Log("Finish Compile");if (!Directory.Exists(Application.dataPath + "/StreamingAssets")) {Directory.CreateDirectory(Application.dataPath + "/StreamingAssets");}string info_path = Application.dataPath + "/StreamingAssets/build_info.txt";StreamWriter build_info = new StreamWriter(info_path);build_info.Write("Build from " + SystemInfo.deviceName + " at " + System.DateTime.Now.ToString());build_info.Close();}isCompiling = EditorApplication.isCompiling;}}
}
Updata
函数中有写入并保存本地功能,可将此部分代码进行修改,避免协同开发遇到冲突。
另外有更多扩展功能可以按照需求自己修改代码,例如:上传错误,警告等信息,Unity-Logs-Viewer的Reporter.cs中有名为Log的类,可以获取Unity抛出的异常,自己探索吧。
方便的Unity真机调试工具:LogViewer相关推荐
- (转载)Unity真机调试
Unity Android模拟器调试 Unity项目遇到了只会在Android上出现的问题,code review再三没有找到问题,只能想到动态调试了.Unity Android的真机调试只能使用Wi ...
- WebApp网页真机调试工具-(Android)
待我年逾花甲,重新回到乡下. 池里养些鱼虾,坡上满是山茶. 不见雾霾黄沙,只有朝阳晚霞. 牛羊伴着鸡鸭,瓜田李下小麻. 孙儿承欢膝下,老伴陪与床榻. 纵是满口假牙,却也笑靥如花. 现在的移动端开发主要 ...
- 移动端真机调试工具--weinre
目录 1. weinre (1)weinre安装 (2)weinre使用 虽然当前各种浏览器都为开发者提供了很多模拟手机设备的功能,但是模拟毕竟是模拟,模拟环境中正常的代码到了真机上访问,仍旧会有各种 ...
- Unity真机非全屏播放视频
转载注明出处:点击打开链接 刚开始工作就遇到了一个麻烦的问题,在Android及ios设备上实现视频的非全屏播放. 在Unity的原生技术中,可以使用MovieTexture实现PC上的该功能,但是在 ...
- unity调试手机游戏(Android)【模拟器+真机】+设置运行时游戏横屏
untiy调试手机游戏(Android)[模拟器+真机]+设置游戏横屏 模拟器调试 真机调试 设置发布游戏为横屏 注:我使用的unity版本为2021.3.2f1c1 1.将平台调整为Android ...
- Unity Android真机测试
Unity Android真机测试 两种方法,首先在你需要debug的代码位置用Debug.log("你想要的信息") 一.wifi 1.手机连数据线,要求电脑,手机同一网段,手机 ...
- Unity 打包程序后PC或Android真机调试Debug日志及调出的Profiler面板
几个注意点: 1.Unity BuildSettings中勾选Copy PDB files.Development Build.Autoconnect profiler(自动连接性能分析).Scrip ...
- android studio 远程调试,Unity3D学习笔记——Android远程真机调试(Unity Remote)
前言:当使用Unity开发移动端的游戏,特别是使用到手机的传感器,如重力感应等,调试的时候,很麻烦, 因为每次都需要编译成APK后安装到手机中测试,而Unity Remote便能很好的解决这个问题,U ...
- Unity安卓应用闪退-使用DDMS工具查看安卓日志/ADB真机调试
前言 最近遇到一个应用闪退问题,在某些机型和mumu模拟器上会出现,而其他机型和模拟器都是正常的,从Unity代码层面并没有发现问题,只能利用安卓调试看看了 工具 首先需要的工具: DDMS:查看安卓 ...
- Unity 使用USB、WiFi连接真机调试 Profiler
亲测可用. USB连接: 发布一个development apk,在buildsetting发布界面,勾选Development build. 手机usb连接打开调试模式,在电脑上使用adb查看是否连 ...
最新文章
- JPA 复杂查询 - Querydsl
- 电子班牌系统服务器,电子班牌管理系统
- nodejs ejs模版 layout使用 注意点
- makefile中的函数
- udhcp源码详解(四) 之租赁IP的管理
- (Java)注解和反射
- 博士申请 | 香港理工大学滕龙老师课题组招收机器人方向博士生/研究助理
- 开闭原则------(转)
- 线程同步以及yield()、wait()、Notify()、Notifyall()
- 微信多开txt_电脑版微信怎么双开、多开
- micro_macro
- 论文html5的英文文献,html论文英文参考文献(优质论文108个).pdf
- Python数据分析与展示[第二周]
- 保姆级别mysql 基础练习题
- PASCAL VOC 2012数据集
- 使用python的requests模块实现百思不得其姐抓取(多线程版)
- php m3u8cms,苹果cms V8和V10整合Dplayer播放器插件支持mp4和m3u8格式播放
- 截屏、文字提取一气呵成,超实用 OCR 开源小工具
- Filecoin矿商史上最全测评,看完这篇谁也坑不了我
- ZigBee 设置信道、PANID、发射功率