如何在Android/iOS设备上调试Unity3D?

3

Unity 5.2.3f1,VS2015社区版,Windows 10

我已经完成的工作:

1-在Windows上构建和运行应用程序...一切正常

2-为Android构建并在我的三星Galaxy S3上部署了apk(使用USB电缆)...可以运行,但无法进行调试... 似乎USB调试仍然不是一个选项

(设备已激活开发者模式,“开发构建”和“脚本调试”都已选中)

3-使用adb命令进行wifi调试:

adb tcpip 5555 
adb connect [device ip adress without brackets]:5555

设备通过使用连接。
adb devices 

我在列表中看到了我的设备

4-断开USB电缆

5-当游戏在设备上启动时,我可以在选择框中看到unity的i-9300实例

6-我选择它,然后VS变得没有响应...我需要使用任务管理器终止程序

有什么建议吗?


我不确定是否可以进行断点/步骤式调试。您需要使用adb(adb logcat)捕获logcat并从中获取堆栈跟踪。 - trooper
至少有一个人能够做到这一点!请查看以下链接: http://sebastien.lebreton.free.fr/blog/index.php?/archives/53-Debugging-an-Unity-Game-under-Android-using-Visual-Studio-and-UnityVS.html - kavehmb2000
你绝对可以在MonoDevelop和Visual Studio中断点并逐步执行iOS和Android上的代码。但有时可能会有些不稳定 :( 我认为你需要使用Mono后端而不是IL2CPP。 - Sam
4个回答

1
您可以从构建设置中将项目导出为Google项目。然后,您可以在Eclipse或Android Studio中打开它,最后在这些IDE上运行到设备上。您可以检查调试控制台。Unity调试也应该出现在那里。
对于iOS也是一样的,只是更简单了。先为iOS构建,然后在xcode上运行到设备上,调试信息会显示在xcode的控制台部分。

谢谢,但这对我来说将是第二个最糟糕的选择 - 就在放弃项目之前。如果我能找到另一种替代方案,我不会这样做。仅为了调试而导出到Android Studio似乎有些过度了。(需要新的工具集,需要使用Java而不是C#,如果我走这条路,我不能让未经优化的代码存在...这意味着比我们负担得起的开发时间更长) - kavehmb2000
嗯,不完全是。就像在iOS上构建应用程序时,您使用Xcode运行设备并进行调试。但这并不意味着您需要使用Objective-C编写任何代码。使用Android Studio只是打开项目并运行,而您的所有代码都来自Unity。 - Everts

1

你可以尝试使用Unity Remote 4来进行Android和iOS的调试。这是一个专门针对Android设备进行调试的应用程序。你只需要从Playstore下载该应用程序,并配置Unity以在Android设备上运行游戏即可。


实际上,在你提到之后,我就这样做了。部分使用Unity Remote 4有助于在设备上调试“如果问题来自界面(HMI、交互对象)”。它确实在计算机上运行Unity的代码...所以在我的情况下,它并没有帮助太多,因为我的问题似乎来自加载资源(事实上,我可以看到应该加载的关卡...如果移动编译方式与此相同,一切都会很好)。我认为你的回答值得比现在的-1声望更多。感谢分享你的知识。 - kavehmb2000

0

跳转到“构建设置”,选择“开发构建”和“脚本调试”。

确保您的电脑和手机在同一局域网中。

并且!

如果您的apk中有任何dll文件,“\assets\bin\data\*.dll”,请确保dll文件的大小小于40M。


谢谢你的建议,但这不是我的情况,因为我没有任何那么大的“dll”文件。 - kavehmb2000

0

好的,现在使用this新的官方教程在安卓上进行测试会更好。 不好的消息是,你可能需要将你的Windows更改为服务器版本。


你不需要使用服务器版本的Windows。 - Sam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接