一次不成功的unity profiler链接

ADB forward

常见的方法是使用adb forward对电脑的端口跟手机进行转发
adb forward --list
adb forward tcp:34998 localabstract:Unity-com.xxx.xxx
也试过34999端口号,都没有啥作用

ADB reverse

使用unity build run发现控制台会打印一个信息
adb.exe -s “MDX0220328005102” reverse “tcp:34998” “tcp:34999”
“MDX0220328005102”是对应自己的手机adb devices信息

在adb shell里使用命令netstat -a|grep 3499
发现手机上确实有这个端口在监听
tcp6 0 0 [::]:34998 [::] LISTEN

在adb中手动执行这个命令显示成功了但是似乎也没有什么作用,会提示Connection is no longer valid. Calling auto disconnect.

在unity profiler菜单中选择时确实是使用adb 127.0.0.1:34999去连接手机的,这个命令理论上会去把34999端口跟手机34998建立连接

其他profiler菜单直接输入ip 127.0.0.1

这个默认会从55000端口尝试,使用adb forward tcp:55000 localabstract:Unity-com.xxx.xxx 似乎连接成功过但是没有数据

尝试同时使用adb forward跟adb reverse

adb forward --remove-all之后
使用adb forward tcp:55000 localabstract:Unity-com.xxx.xxx
adb reverse–remove-all之后
adb.exe -s “MDX0220328005102” reverse “tcp:34998” “tcp:55000”
在手机上adb shell中netstat -a|grep 3499
结果发现建立了非常多的tcp连接 但是unity profiler并没有真正连接成功

尝试使用一些新的unity版本 2021.3.16

遇到问题,编译apk时候会报gradle的错误,网上有种说法是设置key store,另外一种方法是改gradle配置文件url,这两种方法都没尝试成功
尝试使用旧版本unityhub + 脚本设置proxy 也还没成功
有帖子说是unity gradle版本和gradle插件版本不匹配 这个还没尝试更换版本
编译报错时候提示 Failed to call Unity ID to get auth code. 可能跟账号登陆和鉴权有关??
似乎是域名解析的问题 dl.google.com域名解析不了 见b站这个视频https://www.bilibili.com/video/av638396132/?vd_source=fb3f4081db0c360df784eca453f79126
试了这个方法 发现dl.google.com ip一直在变化 还是编译失败
有一些warning :repositories.cfg could not be loaded.
Failed to download any source lists!
没想到换了台电脑编译会一直失败,公司的网络又很玄,连自己热点也一样报错,暂时放弃编译apk连,试试unity remote看能用不

猜想

之前成功过的时候apk运行确实有development的水印,但是最近编译apk虽然把development build勾上,但实际运行并没有水印,而且使用unity upr工具profile一直没有数据 frame count为0,估计apk确实不是development模式??使用另外一个profiler工具,发现adb forward中的端口在adb shell netstat -t中能发现 localabstract对应的端口名字在netstat -a|grep xxx中也能找到,而unity profiler对应的localabstract找不到,所以问题的根源是编译出来的apk并没有启动对应的端口等unity来连接并发送数据?

解决

编译developement版本时候勾选了 development build,auto connect profilter,script debugging 三个选项,upr工具一直no frame data,去掉第二个选项,upr正常了
同样去掉第二个选项勾选之后 用forwad 55000那个命令 unity profiler可以成功连接了,虽然比较蛋疼的是我这编译时候gradle一直会报错,dl.google.com在我这ip一直变来变去

Unity编译问题

unity编译gradle老是失败,应该是gradle中配置的maven仓库jcenter跟google访问不了,需要配置公司能访问的仓库,可以通过修改baseProjectTemplate.gradle这个文件来解决,访问不了的url资源可以在浏览器中尝试下看是否能访问,有时候http访问不了,需要改为https来访问, https有时候gradle会报错unable to find valid certification path to requested target,这个是由于java没有安装证书,需要用keytool -keystore cacerts -importcert -alias xxxx -file xxxx.cer -storepass changeit -noprompt 这种命令来安装证书,或者改回http选择合适的仓库来访问,或者高级一点自制一个本地离线的maven仓库,参考这个帖子https://www.pudn.com/news/6228e3479ddf223e1ad3306c.html#UnityGradle_276

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值