用Unity3D做游戏开发在Android上的常用调试方法
Hdg Remote Debug 远程调试
游戏运行在手机上,可以通过pc端的unity来随时修改当前场景中GameObject的变量,从而改变手机上运行时的表现。比如,我可以勾掉下图中的“Enabled”,那这个object就被立即隐藏了;或者改变"Local Position”将物体平移。
可参考这篇文章:Hdg Remote Debug 远程调试,解决移动端问题的工具简介
手机上实时打印Unity日志
使用此工具,不管在手机或者Unity Editor中,你都可以很容易地检查/查看游戏输出的日志,而不需要回到项目和做任何测试跟踪问题!(开源免费),也无需通过adb来查看日志文件
详情查看我之前的文章:便捷的方式在手机上查看Unity3D的Console Log(调试信息 日志)
ADB连接Unity
ADB 通过USB连接时,在Unity中输入 127.0.0.1,不要输入端口号
- IP填写127.0.0.1
- adb forward 端口号选用55000 ~ 55511范围,或者4600 (5.x ~ 2017)
- 4.X版本,引擎代码中写死了常量55000
具体详细细节查看:Unity3D 秘籍之 为何你无法使用ADB USB Profiling Android Player
调试Unity.exe
通过IDA 调试 Unity.exe
IDA是一款交互式反汇编器
IDA官网:https://www.hex-rays.com/products/ida/
Windows下编辑安卓Host
在开发调试阶段,会使用ip绑定域名的方式,这里讲一下windows下便捷有效的修改安卓上的host
推荐下载 Hosts Editor ,国内的朋友可在这里下载 Hosts Editor v1.3
手机上查看APK的包名
在windows上可以下载 Apk Helper,把apk拖动进来,就可查看到包名,比如com.xxx.sgame
对于手机上已安装的app,安装这个App Package Names Viewer 就可以在手机上查看包名,国内的朋友可以在这儿下载 包名查看器(Package Names Viewer) v2.1.2083 安卓版
本机windows和安卓模拟器文件互传
通过adb推送和拉取,可以参考我仓库下blog_samplecode\workflow-tools\debug(调试工具)\
的bat文件
::从手机上拉取hosts文件到本地进行备份
"%adb%" pull /system/etc/hosts %~dp0/hosts.bak
::把本地修改的hosts文件推送到手机上
"%adb%" push %~dp0/hosts.bak/system/etc/hosts