Unity3D中Android和ios真机调试测Profiler

发表于2018-06-10
评论0 7.6k浏览
Unity3D中的Profile也是可以直接在链接安卓设备运行游戏下查看的,导出真机链接Unity3D的Profile看数据,这样能更好的测试具体原因。

一、Android真机调试测Profiler

用安卓真机调测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),连上即可。

Android

1、使用unityRemote调试(这种没用,只是在手机看到画面而已)

手机安装unityRemote并运行,unity中设置【edit】→【Perferences】,在External Tools中,设置Android SDK Location,连接usb后直接运行unity在手机上就能看到结果。
这种方法问题是使用这个unityRemote运行的结果和打包出来的apk运行结果未必一致,
不清楚使用profiler查看的是否是真机的参数
但是可以使用代码输出调试
if (Input.GetKeyUp(KeyCode.Escape))   
{      
       Debug.Log("Return Button");            
}  

2、unity打包android apk

下载android sdk(unity版本和Android SDK Tools有一定对应关系,本文使用的是unity4.3.4  Android SDK Tools版本是22.0.1)

Edit->Perferences中设置android sdk位置

File->Build Settings,

然后在Inspector面板配置,首先更改下

再修改,

最后可以新建个Keystore

然后可以点击build进行打包,打包时报错经常是因为unity版本和Android SDK Tools版本对不上,比如提示缺少zipalign.exe,aapt.exe等

解决方法是直接从\android-sdk-windows\build-tools\19.1.0\中把zipalign.exe,aapt.exe复制到android-sdk-windows\tools\中
其中zipalign.exe这个文件只有build-tools 19.1.0以上的版本中才有
aapt.exe这个基本大多数版本的build-tools 都有

3、使用profiler查看真机运行参数

关闭手机数据(2g网)
打开wifi(手机和unity所在pc在同一子网)

首先使用unity打包apk,打包时需要勾选

然后build and run,运行成功手机直接显示游戏画面,profiler自动弹出并显示手机运行apk的真实参数

如果 Unity 编辑器 (Editor) 自动连接设备失败,从分析器窗口 (Profiler Window) 的活动分析器 (Active Profiler) 下拉菜单中选择正确的设备

android设备通过usb连接(正确安装驱动后)profiler中会多出两个选项
官网原文  http://uec.Unity3D.com/learning/document?file=/Manual/Profiler.html

IOS

使用profiler查看包参数的方法与android基本一直,但需要使用mac上的unity进行调试。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

0个评论