U3D中的Profile也是可以直接在链接安卓设备运行游戏下查看的,导出真机链接U3D的Profile看数据,这样能更好的测试具体原因。
 
大概看了下官方的做法,看了几张帖子顺带把做法记录下来。
 
参考:http://docs.unity3d.com/Documentation/Manual/Profiler.html
 
用安卓真机调测Profile的数据,其实就两种方法,WIFI和ADB的方式。其实一般用的都是ADB方式,因为很少情况是你的电脑与手机是在同一子网WIFI下的。除非是你个人的网络。
 
备注:
如果你需要导出的游戏在非导出的机子上PROFILE的话,最好在导出的机子随便先导个带PROFILE的空项目。这样才能很容易链接上,不然是很麻烦的事情。
 
1.以WIFI的方式。
这个方法需要电脑所在的网络和手机所在的网络在同一子网下才能进行。
(1)导出U3D项目的时候勾选Profile,安装游戏到手机。
(2)打开游戏的时候,同时打开window->profiler,然后选择选择输入IP,连上即可。
 
 
2.以ADB的方式。
注意防火墙是否屏蔽掉了54998~55511端口,若屏蔽就打开。
(1)导出U3D项目的时候勾选Profile,安装游戏到手机。
(2)打开CMD命令行,cd到adb根目录,然后输入以下命令。将下面"这里加你的包名"改为你游戏打包出来的名,即Bundle Identifier。例如:com.Company.aaa。
     adb forward tcp:54999 localabstract:Unity-这里加你的包名
 
(3)打开游戏的时候,同时打开window->profiler,然后选择选择AndroidProfiler(ADB@127.0.0.1:54999),连上即可。
 

我们在使用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应用:

  1. adb logcat

启动logcat,并将设备上运行的android应用的运行时信息全部打印出来。

  1. adb logcat -s Unity

如果只想打印Unity的输出信息,使用此命令。

  1. adb logcat -d > logcat.txt

将打印信息输出为文件。

清除adb logcat缓存

  1. adb logcat -c

当然,更直接的做法是在应用中集成自己的调试信息窗口,将如下代码关联到一个gameobject:

  1. <p>using UnityEngine;
  2. using System.Collections;</p><p>public class GuiTextDebug : MonoBehaviour
  3. {
  4. private float windowPosition = -440.0f;
  5. private int positionCheck = 2;
  6. private static string windowText = "";
  7. private Vector2 scrollViewVector = Vector2.zero;
  8. private GUIStyle debugBoxStyle;
  9. private float leftSide = 0.0f;
  10. private float debugWidth = 420.0f;
  11. public bool debugIsOn = false;
  12. public static void debug(string newString)
  13. {
  14. windowText = newString + "\n" + windowText;
  15. UnityEngine.Debug.Log(newString);
  16. }
  17. void Start()
  18. {
  19. debugBoxStyle = new GUIStyle();
  20. debugBoxStyle.alignment = TextAnchor.UpperLeft;
  21. leftSide = 120;
  22. }
  23. void OnGUI()
  24. {
  25. if (debugIsOn)
  26. {
  27. GUI.depth = 0;
  28. GUI.BeginGroup(new Rect(windowPosition, 40.0f, leftSide, 200.0f));
  29. scrollViewVector = GUI.BeginScrollView(new Rect (0, 0.0f, debugWidth, 200.0f),
  30. scrollViewVector,
  31. new Rect (0.0f, 0.0f, 400.0f, 2000.0f));
  32. GUI.Box(new Rect(0, 0.0f, debugWidth - 20.0f, 2000.0f), windowText, debugBoxStyle);
  33. GUI.EndScrollView();
  34. GUI.EndGroup ();
  35. if (GUI.Button(new Rect(leftSide, 0.0f,75.0f,40.0f), "调试"))
  36. {
  37. if (positionCheck == 1)
  38. {
  39. windowPosition = -440.0f;
  40. positionCheck = 2;
  41. }
  42. else
  43. {
  44. windowPosition = leftSide;
  45. positionCheck = 1;
  46. }
  47. }
  48. if (GUI.Button(new Rect(leftSide + 80f,0.0f,75.0f,40.0f),"清除"))
  49. {
  50. windowText = "";
  51. }
  52. }
  53. }
  54. }
  55. </p>

关于Android真机调测Profiler的更多相关文章

  1. Android真机调测Profiler

    U3D中的Profile也是可以直接在链接安卓设备运行游戏下查看的,导出真机链接U3D的Profile看数据,这样能更好的测试具体原因. 大概看了下官方的做法,看了几张帖子顺带把做法记录下来. 参考: ...

  2. 关于Android真机调測Profiler

    u3d中的Profile也是能够直接在链接安卓设备执行游戏下查看的,导出真机链接U3D的Profile看数据,这样能更好的測试详细原因. 大概看了下官方的做法.看了几张帖子顺带把做法记录下来. 參考: ...

  3. Unity Profiler连接Android真机调试

    Profiler在Editor模式就可以观看性能消耗,但是毕竟电脑配置高,跟手机真机环境还是有区别.实际开发中的优化还是推荐用真机测试. 因为IOS一般比Android手机的配置高,在Android平 ...

  4. Unity Frame Debugger连接Android真机调试

    当用Profiler分析到不是代码导致的性能问题,当前场景最大的性能瓶颈是渲染时,或者自己写的Shader要调试时,都可以用Frame Debugger进行调试. 按下列步骤设置打包,既可以用Prof ...

  5. 在Mac系统上配置Android真机调试环境

    在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...

  6. android真机自动化测试

    appium执行用例时报错问题: 问题解析: 一般该种情况都是因为来连接了多个设备,验证办法:cmd->执行adb devices  看结果是否是多个devices ,如果是这个问题,停掉多余设 ...

  7. Android真机测试,连接到本地服务器的方法

    1. 前言 作为一名Android开发者,不管怎么说,都会经历使用Android真机来测试连接本地服务器这样的事情.这里所说的“本地服务器”大多数时候指的是:搭载有某种服务器软件的PC,例如搭载有To ...

  8. Android 真机投影到PC端,真机投影工具;Vysor

    Vysor可以把Android真机投影到PC端,也就是电脑上:手机端和PC端课同步操作: Vysor是Chrome浏览器的插件,我们想要添加这个插件需要FQ: 从这里可以直接下载:Vysor

  9. 使用ADB无线连接Android真机进行调试

    使用ADB无线连接Android真机进行调试   其实这已经是一个很古老的知识了,记录一下备忘. 准备工作 手机和电脑需要在同一个局域网内 电脑上已经安装好ADB工具,可以是Mac或者Windows ...

随机推荐

  1. log4net简单配置内容

    首先将log4net.dll下载来,添加到项目引用中: 在assembly文件最后面加(其实没关系的): [assembly: log4net.Config.XmlConfigurator(Confi ...

  2. maven nexus 3 third party 构件上传

    mvn -e deploy:deploy-file -DgroupId=com.oracle -DartifactId=JDBCDriver -Dversion=12.0.1 -Dpackaging= ...

  3. js围绕屏幕转圈的方块

    点击运动按钮后,方块会挨着浏览器的边,从左到右,从上到下转一圈. 这个我居然写了几天,我也是不想说什么咯. 完成代码一: <!-- Author: XiaoWen Create a file: ...

  4. atitit.404错误的排查流程总结vOa6

    atitit.404错误的排查流程总结vOa6 1. 场景 1 1.1. 子应用猛个腊擦不能使用  404 兰.. 1 2. 服务器配置问题 2 2.1. 登录服务器管理子应用,查看应用是否启动okk ...

  5. NSIS总结1——以管理权限运行

    在Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" 到第一个Section之间插入一行代码 RequestExecutionLevel admin ...

  6. Android 学习之--android多线程断点下载

    我们平时都用"迅雷"下载软件,当下载到一半的时候突然断网,下次开启的时候能够从上次下载的地方继续下载,而且下载速度很快,那么这是怎么做到的呢! 其实它的“快”其实就是多线程的下载实 ...

  7. Accessorizer的使用说明!

    工欲善其事,必先利其器 还是这句老话!但是老话藏真金! 今天我们来说说Accessorizer这个软件吧!!Accessorizer这个软件真的很不错!!但是我没有见到程序员使用它!! Accesso ...

  8. C#下取得Exif中照片拍摄日期

    /// <summary> /// 获取Exif中的照片拍摄日期 /// </summary> /// <param name="fileName"& ...

  9. Entity Framework一对多关系添加数据的两种方式

    当使用Entity Framework添加一对多关系数据的时候,通常先添加一的数据,然后再添加多的数据.类似这样: //添加一的数据 var category = new Category{Name= ...

  10. [转]PROE传动链条的装配教程

    转自: 原文连接:PROE动链条的装配教程 传动链条的装配