如何在Unity中对程序进行 Android 真机断点调试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Unity中对程序进行 Android 真机断点调试相关的知识,希望对你有一定的参考价值。

我们在使用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打出的所有日志信息。
参考技术A 方法步骤:
  1.首先在手机上开启USB调试功能,并安装驱动。
  2.用USB电缆连接手机和电脑。
  3.确保手机和电脑在一个局域网内,简单的说就是电脑和手机共用一个路由器,网段一样。
  4.打开电脑上CMD窗口,输入以下命令:
  adb tcpip 5555(该命令打开手机adb网络调试功能)
  正常情况下输入命令后控制台会出现回显
  restarting in TCP mode port: 5555
  打开手机查看手机的IP地址(不会请百度)假设手机的地址是192.168.1.x输入命令
  adb connect 192.168.1.x
  如果一切正常控制台会回显以下内容
  connected to 192.168.1.x:5555
  如果想查看是否连接成功请输入以下内容
  adb devices
  控制台会回显连接的设备
  5.如果一切连接成功,请拔掉USB电缆,选择File->Build&Run,在编译之前要勾选上Development Build 和Script Debugging这两项(在build setting里面勾选不要忘记否则是不能调试的)电脑会自动编译文件并将APK推送至手机,在手机上同意并安装。
  6.当程序运行后再Monodevelop里面打开Run->Attach to process 会发现手机的选项,选择手机,在脚本里面添加断点,发现可以调试了,那叫一个爽!出现问题再也不用去瞎猜,或者添加Debuglog了。
参考技术B 我们在使用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打出的所有日志信息。
参考技术C djfne,efuwkdvmsvbxd cvsdjfseuhf 参考技术D sdhgbd mc esnfb dnfvbxdnb

unity直连android真机在Profiler性能分析测试

基础步骤:

1、Unity打开你要测试的项目:File–Build Settings

2、如下图,按图顺序进行1、2、3、4、5操作,如果做过了,2就是灰色的,不能被点击,4和5需要相对应。

3、确保手机连接电脑,USB调试已打开,一定要关闭windows防火墙,防火墙会屏蔽大多数端口,影响手机端口连接(这个大坑搞了我好久)

找到你的Android SDK 目录,进入platform-tools,我的是E:\\Program Files\\android-sdk-windows\\platform-tools,确认这个目录下存在adb.exe。 

按下shift键,右击鼠标,选择在此处打开窗口命令。

4、接下来输入adb forward tcp:54999 localabstract:Unity-宝石迷阵,宝石迷阵替换成你的包名,步骤二中的第4红框,Package Name。

tips:下图上第一次报错是因为没有连手机,第二次手机连接模式没有选USB连接,成功后没有报错就可以X掉cmd窗口了。

5、回到unity,打开windows ->profile,按下图提示点击。

注意观察下面的端口号是不是之前adb开启的54999,如果不是的话是无效的。

6、接下来不要关闭Profile面板,点击File–Build&Run,等待下载完,然后你的项目就会在手机上运行了。

7、这样只要保证Profile面板不关闭并且手机不断开,改动项目后执行File–Build&Run就可以重新在真机测试了。

 

注意:连接不上手机检查是否USB已连接,再检查是否已开启adb调试,再检查windows防火墙是否关闭。

 

以上是关于如何在Unity中对程序进行 Android 真机断点调试的主要内容,如果未能解决你的问题,请参考以下文章

Unity Remote 5 安卓真机测试

Unity 打包程序后PC或Android真机调试Debug日志及调出的Profiler面板

unity-真机调试Android

unity-真机调试Android

如何使用Android真机进行调试

unity直连android真机在Profiler性能分析测试