自己使用的华为手机,unity版本是2020.2.3f1c1,然后是用USB数据线连接的方式进行调试的,这里记录一下整个过程,好像还有wifi连接的方式,暂时不去想。

        USB线插上电脑和手机,手机上的usb连接选项选择”传输文件”,找到”设置”->”关于手机”,多次点击版本号即可打开开发者模式,再返回”设置”,找到”系统和更新”,找到”开发人员选项”,进去后打开”开发人员选项”和”USB调试”。

        Unity要切换到安卓平台,勾选必要的选项。

android 查看 usb口连接 安卓手机怎么找到usb_xml文件

        接着要用cd命令定位到安卓ADK的platform-tools目录下,默认用unityHub安装的安卓模块的话,那就是下面路径:

C:\Program Files\Unity\Hub\Editor\2020.2.3f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools

android 查看 usb口连接 安卓手机怎么找到usb_android 查看 usb口连接_02

在这之前要先关闭电脑的防火墙,通过任务面板找到防火墙关闭即可,什么360软件的也最好退出一下。

android 查看 usb口连接 安卓手机怎么找到usb_lua_03

android 查看 usb口连接 安卓手机怎么找到usb_android 查看 usb口连接_04

        如果adb命令不正常,看这篇文章:Unity3D开发技术Android apk调试 - 简书 ,一般就是先关闭adb kill-server,再开启adb start-server。

    接着开启tcp连接,输入下面的命令:adb forward tcp:34999 localabstract:Unity-com.ygq.Archer,这里的数字写什么取决于你的unity的profiler中显示的是多少。最后的Unity-后面写自己的包名。

android 查看 usb口连接 安卓手机怎么找到usb_游戏引擎_05

android 查看 usb口连接 安卓手机怎么找到usb_xml文件_06

        当profiler中的playMode下出现了两个34999时连接成功,可以build and run真机调试了。RunDevice这里改成自己的手机设备。

android 查看 usb口连接 安卓手机怎么找到usb_lua_07

 为了能在vs里选择上手机进行调试,需要如下操作加入安卓sdk的目录,Copy Path复制过去就行

android 查看 usb口连接 安卓手机怎么找到usb_xml文件_08

android 查看 usb口连接 安卓手机怎么找到usb_游戏引擎_09

        每次手机上退出程序后都需要重新"附加unity调试程序"

android 查看 usb口连接 安卓手机怎么找到usb_android 查看 usb口连接_10

  1. 接着在profiler的PlayMode中选择自己的手机,然后点击”Build and Run”就可以进行真机调试了。
  2. 为了方便调试,一开始就在vs编辑器或者idea编辑器中给c#和lua代码打好断点。

遇到问题:

>

解决:换成老师MMO_Client项目里protobuf_net的源码就行了

>

报错:Autoconnected Player Curl error 7: Failed to connect to 192.168.31.196 port 8080:,原因是手机和电脑连的不是同一个wifi,且需要关闭电脑上的防火墙,要点确定才起效。

>报错:Autoconnected Player DllNotFoundException: Unable to load DLL 'xlua': The specified module could not be found.

原因:丢失对应的dll文件,看了一下项目的Plugins的Android目录下,什么文件都没有

解决办法:重新下载xlua,然后替换Plugins文件夹

>

原因:这是因为unity裁剪引擎代码的时候,把ID为64等的类代码给裁剪掉了,导致运行的时候,无法找到。关于裁剪代码的设置在Build Settings->Player Settings->Player->Managed Stripping Level

android 查看 usb口连接 安卓手机怎么找到usb_xml文件_11

解决办法:在项目的Assets目录下新建一个名为link.xml的文件,把缺失ID对应的类库添加到link.xml文件中重新打包问题就解决了。

android 查看 usb口连接 安卓手机怎么找到usb_lua_12

官方文档id对应的类名:Unity - Manual: YAML Class ID Reference

  --->报错:Autoconnected Player LuaException: xlua/util.lua:45: cannot set allowSceneActivation, no such field,像这种系统类的函数和变量无法访问的情况,是系统对代码裁剪了,其它的还有NavMeshAgent、NavMeshSurface、Animation、AnimationEvent、Application等

解决办法:在link.xml文件中添加对应的类

android 查看 usb口连接 安卓手机怎么找到usb_游戏引擎_13