AirtestProject / Poco-SDK

https://github.com/AirtestProject/Poco
Apache License 2.0
283 stars 170 forks source link

(已解决)接入了unity的sdk,渲染树中没有控件信息 #73

Closed jafree7758 closed 4 years ago

jafree7758 commented 4 years ago

请教各位大佬,unity打出来的包,无法识别控件信息。

IDE版本:1.2.3 untiy版本:2018.4.10f1 UI环境:ugui 手机:小米6

运行demo程序(com.netease.poco.u3d.tutorial.apk)时,IDE的Poco辅助窗可以正确的刷新控件信息。运行自己打的包时,Poco辅助窗就无法刷新。 image

接入SDK时,删除了fairygui和ngui文件夹,由于我们工程中重写了Newtonsoft.Json,故将3rdLib文件夹中的Newtonsoft.Json.dll删除了。

另外,修改了几处报错的语句。 image

image

游戏运行后,可以看到 Tcp server started and listening at 5001 image

更多的日志请查看log.txt log.txt

麻烦大佬看一下,非常感谢!

jafree7758 commented 4 years ago

补充一下,在游戏启动的时候,新建了一个GameObject,加载了PocoManager image

unity运行游戏的时候,是可以看到这个GameObject的 image

image

期待大佬的指点

TreHack commented 4 years ago

在本地可以这样来调试一下:1.手机通过adb连到本地电脑,打开你们的app。2,打开python命令行,执行以下几行代码(如果没有安装airtest和poco的话,麻烦按照官网教程安装一下)

from poco.drivers.unity3d.unity3d_poco import UnityPoco
ip = '你手机的ip地址'
poco1 = UnityPoco((ip, 5001))
print(poco1.agent.hierarchy.dump())

3.如果第二行代码的5001端口不行,就继续5002,或者5003或者5004或者5005,端口范围是(5001~5005)

看看这样能获取到ui树结构的数据不

jafree7758 commented 4 years ago

在本地可以这样来调试一下:1.手机通过adb连到本地电脑,打开你们的app。2,打开python命令行,执行以下几行代码(如果没有安装airtest和poco的话,麻烦按照官网教程安装一下)

from poco.drivers.unity3d.unity3d_poco import UnityPoco
ip = '你手机的ip地址'
poco1 = UnityPoco((ip, 5001))
print(poco1.agent.hierarchy.dump())

3.如果第二行代码的5001端口不行,就继续5002,或者5003或者5004或者5005,端口范围是(5001~5005)

看看这样能获取到ui树结构的数据不

感谢大佬回复。

问题已经解决了,原因是SDK内的Newtonsoft.Json.dll不能删。我把我们工程内重写的Newtonsoft.Json全部删了,使用SDK带的Newtonsoft.Json.dll,就没问题了。应该是重写的Newtonsoft.Json没有SDK带的Newtonsoft.Json.dll全面。

再次感谢大佬的回复~

TreHack commented 4 years ago

解决就好