花了一天的时间终于搞定了安卓端Profiler的调试。之前整过,可以直接运行,今天发现相同的操作,就是不能正确调试。特写上爬坑经历。前面内容和网上写的完全一样,熟练的人可以略过,不熟练的按着前面的先来。

1.Unity端设置

unity 打release包的时候debug 日志会隐藏吗 unity debug.log用不了_PowerShell

unity 打release包的时候debug 日志会隐藏吗 unity debug.log用不了_cmd命令_02

unity 打release包的时候debug 日志会隐藏吗 unity debug.log用不了_文件名_03

2.CMD命令

找到AndroidSDK下adb.exe的路径:(你自己安卓SDK安装路径)/platform-tools/adb.exe

这里如果不知道路径可以去UnitySDK配置里看

unity 打release包的时候debug 日志会隐藏吗 unity debug.log用不了_文件名_04

两种方式,一种是按住Shift键右键adb.exe,在此处打开cmd命令窗口啥的。不过好像是我系统原因,我显示的是PowerShell窗口。

另一种是纯CMD命令。怎么进入cmd我就不说了。进入后,最基本的两个就够了

进入某个盘 :      d:

进入盘下某个文件夹 :     cd 文件名

然后就是很关键的一步了:

adb forward tcp:34999 localabstract:Unity-com.xiaosu.cc123(你自己的包名)

网上很多写的54999,不过挺纳闷儿为啥我Unity的Profiler只显示了34999.具体原因我也不清楚,不过这些不是我研究的终点,至此,Building and Run。然后Profiler中选择ADB@34999,按理来说,就OK了。

但是!!!!!!!!!!!!!!!!!!!!!!!!!!!

但是!!!!!!!!!!!!!!!!!!!!!!!!!!!

3.端口的查询和释放

以前我这么来,直接成功了。今天就不行,现在觉得很有可能是当时端口占用的问题。接下来就是重中之重了

端口的查询和释放

netstat -a -o -n | find "34999"

// 显示占用端口54999的进程列表信息

taskkill /F /PID 进程编号

杀掉占用34999的进程

到了这一步,然后再重新输入adb forward tcp:34999 localabstract:Unity-com.xiaosu.cc123,基本上就没问题了

检测是否成功,那就在没有和设备连接的情况下在Profiler界面专门选择ADB34999,如果连接成功了,在你选了的之后,它会自动跳回Editor,因为你其实没有真机。如果没有成功,会在ADB34999选项上不跳转,但肯定是没有成功的。

所以!!!!

虽然我并没有找到核心原因到底是啥,但是亲测每次调试前前通过命令把34999端口清空一次,再重新打开是肯定可以的。

而且!!!!

并不需要每次都Building And Run,你可以随时拔掉随时插上设备按上述操作调试。

和ddms.bat有点像。(调试用的)D:\Android_SDK\tools\ddms.bat

Ok,总结下来就是如果网上说的方法不管用的情况下,先通过命令清理端口,再重新连接端口。