花了一天的时间终于搞定了安卓端Profiler的调试。之前整过,可以直接运行,今天发现相同的操作,就是不能正确调试。特写上爬坑经历。前面内容和网上写的完全一样,熟练的人可以略过,不熟练的按着前面的先来。
1.Unity端设置
2.CMD命令
找到AndroidSDK下adb.exe的路径:(你自己安卓SDK安装路径)/platform-tools/adb.exe
这里如果不知道路径可以去UnitySDK配置里看
两种方式,一种是按住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,总结下来就是如果网上说的方法不管用的情况下,先通过命令清理端口,再重新连接端口。