(转载)Unity真机调试
Unity Android模拟器调试
Unity项目遇到了只会在Android上出现的问题,code review再三没有找到问题,只能想到动态调试了。Unity Android的真机调试只能使用Wi-Fi调试,它要求开发机和Android设备在同一子网下,具体步骤参考Unity的官方文档《Attaching MonoDevelop Debugger To An Anroid Device》。
由于办公环境的限制,我们的开发机(台式机)无法满足与Android设备在同一子网下的真机调试条件,因此我们探索了Unity项目在Android模拟器上的调试方法。
一、、创建AVD
安装Java和Android SDK是前提,这里不做细述。Android SDK中自带了eclipse,通过eclipse里的Android Virtual Device Manager可以很方便的创建和管理AVD。
创建AVD时除了Memory Options、Internal Storage和SD Card尽可能设置大一点防止发生apk安装失败等问题以外,还需要注意以下几点:
1、Windows上RAM设置超过768M时可能会发生模拟器启动失败,这种情况只需要改小RAM即可。
2、勾选Use Host GPU选项,否则运行项目时可能会崩溃,报错:[EGL] No suitable configuration found that matches the minimum critera。
二、配置APN
通常情况下我们的模拟器需要可以联网,Android通过APN来实现设备与蜂窝移动网络的连接,这里需要通过配置APN来实现模拟器与宿主机网络的连接:
1、进入Settings->Wireless & networks->Mobile networks->Access Point Names,选择New APN。
2、Name随意填写,其它设置按下图填写。
3、打开模拟器中的浏览器访问外部web这时应该可以成功访问。
三、安装apk
生成apk时记得在Unity Build Settings中勾选Development Build和Script Debugging选项,这样的版本才能被调试。
通过adb install或者豌豆荚等工具安装apk。这里我们遇到了应用无法安装成功的问题,通过DDMS Logcat抓取日志发现返回错误码为-18,根据《Failure [INSTALL_FAILED_CONTAINER_ERROR]》我们将Unity Player Settings->Other Settings->Configuration中的Install Location由Prefer External改为Automatic后重新生成apk安装成功。
四、adb连接
运行模拟器时,模拟器窗口标题栏会显示模拟器的端口号和AVD名称,这个端口号是它的console端口号,其区间为5554-5584之间的偶数,而5555-5585之间的奇数则是对应的为adb保留的端口号。默认情况下运行第一个模拟器的console port为5554,adb port为5555,第二个模拟器的console port为5556,adb port为5557,依此类推。Console port和adb port用于下面的adb连接:
1、adb tcpip 5555将设备的adb daemon与宿主机的5555端口绑定。如果5555端口已经被占用,可以使用5555-5585之间其它的奇数。
默认情况下第一个模拟器的console port为5554,adb port为5555,因此可以跳过这步。
2、adb connect 127.0.0.1:5555这里通过网络进行adb连接,5555为上一步设置好的模拟器adb port,127.0.0.1为本机环路地址。因为模拟器的adb daemon与本机的5555端口进行了绑定,因此adb连接本机(127.0.0.1/localhost)的5555端口时就是连接了模拟器。
3、adb devices查看连接是否建立好。
五、Unity调试
运行项目后,MonoDevelopment或UnityVS的Attach窗口会出现AndroidPlayer一项,这就是我们模拟器上运行的项目了。但如果此时直接Attach会发现Attach不上,我们还需要做些配置工作。
仔细看AndroidPlayer这项会发现有unknown_sdk@10.0.2.15这样的标识,这个10.0.2.15实际上是模拟器自己定义并分配的IP,直接Attach会尝试去连接这个IP,当然无法连接到模拟器,也就无法调试项目了。好在UnityVS有两个很好的功能,一个是列出了调试项目时需要连接模拟器的端口号,即上图的56997,另一个是允许自定义输入IP和端口号来进行远程调试。
1、打开UnityVS的Attach Unity Debugger窗口,记住AndroidPlayer的端口号。
2、打开cmd,输入telnet localhost 5554来进入Android Console,5554即前面提到的模拟器的console port。
3、Android Console中输入redir add tcp:5590:56997,将模拟器56997端口重定向为宿主机的5590端口。这里的56997即第1步需要记住的端口号,5590可以设置为任意你想用的端口号。
4、在UnityVS Attach窗口点击“Input IP”,输入127.0.0.1:5590,点击“OK”将会连接到模拟器并Attach项目成功,接下来就可以体验“真机”调试了。
原文地址:http://gad.qq.com/college/articledetail/5801
转载于:https://www.cnblogs.com/cpjeff/p/7170865.html
(转载)Unity真机调试相关推荐
- android studio 远程调试,Unity3D学习笔记——Android远程真机调试(Unity Remote)
前言:当使用Unity开发移动端的游戏,特别是使用到手机的传感器,如重力感应等,调试的时候,很麻烦, 因为每次都需要编译成APK后安装到手机中测试,而Unity Remote便能很好的解决这个问题,U ...
- 【转载】Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略
原创文章,欢迎分享:未经许可,不得转载:版权所有,侵权必究 开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1 目前Xcode 4.2 Previe ...
- IOS 7 Xcode 5 免IDP证书 真机调试(转载)
最近转开发了,真的很久没有更新博客了,今天有空写一篇吧. 今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调 ...
- xcode上真机调试iphone4s出现“There was an internal API error.”解决方案
xcode7更新之后使用真机调试,在IOS8的一台Iphone5手机上面没什么问题,IOS8的一台iphone6也没问题.但是在IOS6的一台Iphone4s和 IOS7的ipad air2上面在最后 ...
- ios--用证书进行真机调试(转)
测试环境:Xcdoe4.5, ML10.8 转自"http://mobile.51cto.com/iphone-276988.htm" Xcode搭建真机调试环境 图文实例 201 ...
- wp7 关于真机调试,部署注意事项
关于真机调试,部署注意事项 1.真机调试机器需要解锁或者越狱 .(推荐越狱,解锁需要app hub账户,需要提交微软审核,步骤麻烦) 2.真机调试 机器不能锁屏 3.真机调试必须安装启动zune so ...
- Mac OS X 10.10, Eclipse+ADT真机调试代码时,Device Chooser中不显示真机的解决方式
Mac OS X 10.10的环境下.Eclipse+ADT,进行真机调试时,会出现一个问题. Device Chooser对话框里不显示真机设备,仅仅有又一次插拔数据线才干够. 经过測试.有两个暂时 ...
- ios程序连接真机调试
对于真机调试,首先要在苹果网站上注册APP ID,以及购买iPhone Develop Program(iDP) 开发者授权,99美元.然后要创建证书请求CSR,创建步骤如下: 设置OCSP和CRL为 ...
- iOS 12 真机调试 Xcode 9 提示 Could not locate device support files.
升级 iOS 12 之后,使用 Xcode 9 真机调试会提示错误: Could not locate device support files. This iPhone 6 Plus is runn ...
最新文章
- 人生的路上,要懂得坚强
- 转:在windows通过Xrdp软件远程桌面连接Fedora
- RecycleView 缓存原理解析
- Gemfile.lock应该包含在.gitignore中吗?
- Hyperopt 入门指南
- 为什么使用ES6生成器
- 程序员幽默:伤不起,我就是这样的程序员
- docker0: iptables: No chain/target/match by that name.
- 使用Visual Studio Code调试.net控制台应用程序的方法
- 操作系统原理基础知识
- 抖音便捷小空调特效 html+css+js
- php c端,tob端和toc端是什么意思
- JavaScript网页特效编程百宝箱pdf
- 见过世面的程序员,到底有多厉害
- 操作系统之——磁盘存储器管理
- (四)AR Foundation实现坐标、图片检测(上)
- OSIRISV4.1使用教程(最新可用版)
- sicily 4379 bicoloring
- 计算几何基础——【点积和叉积的用处】
- 【ROS-Navigation】—— Astar路径规划算法解析
热门文章
- 2016 中国互联网仿冒态势分析报告
- 【js与jquery】三级联动菜单的制作
- JAVA 13 (集合框架)
- PowerDesigner(16.1)使用
- raspbian wifi设置
- 初学者的编程自学指南
- vb6源码 ymodem_任意字符的ASCII码转换工具,基于VB6的源代码VB字符串处理源码下载...
- html 页间传送数据,js 不同页面间传递值并取值,html不同页面间数据传递
- java监控网卡_VC++监控网卡状态
- Nacos配置管理-微服务配置拉取