关于Android真机调测Profiler
我们在使用Unity开发安卓游戏的时候,虽然可以很方便的在编辑器里直接启动查看运行效果,但是编辑器的环境始终比不上真机显示来的直接,而且有些操作,类似多点触控等等操作,必须要在手机端才能触发,如果我们不想一遍遍的编译apk安装到手机上的话,Unity Remote会是一个很好的选择。
注意:Remote在手机上的运行结果并不能取代打包安装之后运行的结果,他只是将编辑器的显示图像同步到了手机上,并通过手机接收输入而已。所以开发完成之后,还是要按照完整的流程进行测试。
1)使用Unity Remote的第一步是自己的机器上安装Android SDK和你使用手机的驱动。SDK下载地址请自行baidu,手机驱动一般可以在对应品牌的官网找到。这里要注意,如果你的手机系统版本是4.1以上的,请将SDK中的adb升级至最新版本,目前最新版本为1.0.31,否则在adb连接手机的时候会出现设备始终offline的情况。
上面这些东西全部安装完成之后,检测是否安装正确的方法是通过SDK中adb程序来检测(在SDK目录platform-tools文件夹下),在控制台中进入到adb程序所在的目录后输入 adb devices 命令,如果看到设备正常连接,即所有准备工作安装就绪。
注意:如果你的电脑上装有类似豌豆荚之类的PC端手机管理软件,请在任务管理器中将他们全部关闭,因为类似软件会劫持adb进程导致其无法正常工作。
2)关闭手机wifi(重要),打开手机的USB调试功能,在手机端安装Unity Remote 并运行。
3)启动Unity并在编辑器中直接点击Play,不出以外的话你将会看到手机屏幕上也出现了相同的画面。
———————————— 华丽丽的分割线————————————————————————————
上面我们介绍了不打包的情况下怎么在手机上看到运行结果,这毕竟不能代替真正的运行环境。有可能打包发布运行之后还会在手机上出现各种各样的问题,下面我们就将介绍如何在手机程序运行时查看Unity的日志文件。
其实,Unity在Android手机中运行时的所有日志可以通过Logcat捕获到,我们还是可以通过adb工具很方便的在pc上看到游戏运行时打出的Log信息。
1)首先第一步是在保证各种安装环境都正常的情况下链接手机并运行游戏。
2)输入adb logcat -s Unity 即可看到游戏运行过程中通过Debug.log打出的所有日志信息。
目前貌似不支持断点调试,但可以通过日志打印(logcat)来跟踪。
在android SDK中有个adb工具,使用此工具来跟踪运行的android应用:
- adb logcat
启动logcat,并将设备上运行的android应用的运行时信息全部打印出来。
- adb logcat -s Unity
如果只想打印Unity的输出信息,使用此命令。
- adb logcat -d > logcat.txt
将打印信息输出为文件。
清除adb logcat缓存
- adb logcat -c
当然,更直接的做法是在应用中集成自己的调试信息窗口,将如下代码关联到一个gameobject:
- <p>using UnityEngine;
- using System.Collections;</p><p>public class GuiTextDebug : MonoBehaviour
- {
- private float windowPosition = -440.0f;
- private int positionCheck = 2;
- private static string windowText = "";
- private Vector2 scrollViewVector = Vector2.zero;
- private GUIStyle debugBoxStyle;
- private float leftSide = 0.0f;
- private float debugWidth = 420.0f;
- public bool debugIsOn = false;
- public static void debug(string newString)
- {
- windowText = newString + "\n" + windowText;
- UnityEngine.Debug.Log(newString);
- }
- void Start()
- {
- debugBoxStyle = new GUIStyle();
- debugBoxStyle.alignment = TextAnchor.UpperLeft;
- leftSide = 120;
- }
- void OnGUI()
- {
- if (debugIsOn)
- {
- GUI.depth = 0;
- GUI.BeginGroup(new Rect(windowPosition, 40.0f, leftSide, 200.0f));
- scrollViewVector = GUI.BeginScrollView(new Rect (0, 0.0f, debugWidth, 200.0f),
- scrollViewVector,
- new Rect (0.0f, 0.0f, 400.0f, 2000.0f));
- GUI.Box(new Rect(0, 0.0f, debugWidth - 20.0f, 2000.0f), windowText, debugBoxStyle);
- GUI.EndScrollView();
- GUI.EndGroup ();
- if (GUI.Button(new Rect(leftSide, 0.0f,75.0f,40.0f), "调试"))
- {
- if (positionCheck == 1)
- {
- windowPosition = -440.0f;
- positionCheck = 2;
- }
- else
- {
- windowPosition = leftSide;
- positionCheck = 1;
- }
- }
- if (GUI.Button(new Rect(leftSide + 80f,0.0f,75.0f,40.0f),"清除"))
- {
- windowText = "";
- }
- }
- }
- }
- </p>
关于Android真机调测Profiler的更多相关文章
- Android真机调测Profiler
U3D中的Profile也是可以直接在链接安卓设备运行游戏下查看的,导出真机链接U3D的Profile看数据,这样能更好的测试具体原因. 大概看了下官方的做法,看了几张帖子顺带把做法记录下来. 参考: ...
- 关于Android真机调測Profiler
u3d中的Profile也是能够直接在链接安卓设备执行游戏下查看的,导出真机链接U3D的Profile看数据,这样能更好的測试详细原因. 大概看了下官方的做法.看了几张帖子顺带把做法记录下来. 參考: ...
- Unity Profiler连接Android真机调试
Profiler在Editor模式就可以观看性能消耗,但是毕竟电脑配置高,跟手机真机环境还是有区别.实际开发中的优化还是推荐用真机测试. 因为IOS一般比Android手机的配置高,在Android平 ...
- Unity Frame Debugger连接Android真机调试
当用Profiler分析到不是代码导致的性能问题,当前场景最大的性能瓶颈是渲染时,或者自己写的Shader要调试时,都可以用Frame Debugger进行调试. 按下列步骤设置打包,既可以用Prof ...
- 在Mac系统上配置Android真机调试环境
在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...
- android真机自动化测试
appium执行用例时报错问题: 问题解析: 一般该种情况都是因为来连接了多个设备,验证办法:cmd->执行adb devices 看结果是否是多个devices ,如果是这个问题,停掉多余设 ...
- Android真机测试,连接到本地服务器的方法
1. 前言 作为一名Android开发者,不管怎么说,都会经历使用Android真机来测试连接本地服务器这样的事情.这里所说的“本地服务器”大多数时候指的是:搭载有某种服务器软件的PC,例如搭载有To ...
- Android 真机投影到PC端,真机投影工具;Vysor
Vysor可以把Android真机投影到PC端,也就是电脑上:手机端和PC端课同步操作: Vysor是Chrome浏览器的插件,我们想要添加这个插件需要FQ: 从这里可以直接下载:Vysor
- 使用ADB无线连接Android真机进行调试
使用ADB无线连接Android真机进行调试 其实这已经是一个很古老的知识了,记录一下备忘. 准备工作 手机和电脑需要在同一个局域网内 电脑上已经安装好ADB工具,可以是Mac或者Windows ...
随机推荐
- Winform(C#.NET)自动更新组件的使用及部分功能实现(一点改进功能)
接前两篇继续: Winform(C#.NET)自动更新组件的使用及部分功能实现 Winform(C#.NET)自动更新组件的使用及部分功能实现(续) 借鉴文章:http://www.cnblogs.c ...
- 个性二维码开源专题<介绍篇>
由C#编写的个性二维码底层,已应用到 码晒客/疯狂创意二维码等项目上,并获得多项软件著作专利. 疯狂创意二维码 疯狂创意二维码是可用于生成风格独特的个性化二维码生成器,用户可以将目标信息输入到二维码生 ...
- How Delete File with Readonly Permission?
class Program { static void Main(string[] args) { string file=@"E:\readme.txt"; try { File ...
- Android开发学习总结(四)——Eclipse在线安装ADT插件
要想使用Eclipse开发Android应用,首先要安装一个ADT插件,在此记录一下在Eclipse中采用在线安装的方式ADT插件,我使用的Eclipse版本是:eclipse-jee-luna-SR ...
- ava如何实现系统监控、系统信息收集、sigar开源API的学习(转)
ava如何实现系统监控.系统信息收集.sigar开源API的学习(转) 转自:http://liningjustsoso.iteye.com/blog/1254584 首先给大家介绍一个开源工具Sig ...
- jmap命令详解(转)
1.命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其 ...
- c++ string 和wstring 之间的互相转换函数
#include <string> std::string ws2s(const std::wstring& ws) { std::string curLocale = setlo ...
- 如何使用代码动态的获取和设置ImageView的宽度和高度?
http://blog.csdn.net/wulianghuan/article/details/8644144 国内某金融企业的一道面试题:如何在代码中获得一个ImageVIew的高度和宽度? 相信 ...
- 使用Nginx负载均衡搭建高性能.NETweb应用程序一
一.遇到的问题 当我们用IIS服务器部署了一个web应用以后,当很多用户高并发访问的时候,客户端响应就会很慢,客户的体验就会很差,由于IIS接受到客户端请求的 时候,就会创建一个线程,当线程达到几千个 ...
- ASP.NET MVC中实现多个按钮提交的几种方法
有时候会遇到这种情况:在一个表单上需要多个按钮来完成不同的功能,比如一个简单的审批功能. 如果是用webform那不需要讨论,但asp.net mvc中一个表单只能提交到一个Action处理,相对比较 ...