Unity的Android调试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39574690/article/details/81080816

一共有五种方法:

1、在手机上安装Unity Remote 5,安装teamviewer quicksupport,PC端安装TeamViewer,启动手机TeamViewer QuickSupport,启动PC端的TeamViewer,在PC端的伙伴ID输入框内输入手机上的ID,然后进行连接,连接成功后就会在PC显示出一个手机端的屏幕,然后通过USB线将手机和PC电脑连接,在jdk/bin目录下检查是否连接设备成功,在cmd命令下,去到jdk/bin目录下,输入abd devices命令,若有设备名称出现则表示连接成功,如果没有则表示连接失败,注意这一步必须成功,一般来说都会成功。

然后,我们在Unity的Edit->Settings->Editor,在这下面有一个叫Device的玩意,点击它选中Any Android Device,还有一个是Resolution分辨率,一般改为Normal,然后我们就可以启动程序,在手机上会看到Unity启动后的画面。

优点:无build操作,一个字:快!

缺点:在Android端无法进行断点操作,但可以在Unity上进行断点操作,无法通过Android Studio的Logcat查看调试输出信息,但是你可以通过在Unity那边弄一个UI来显示Debug信息,比较麻烦。。

2、用Android Studio的AVD来实现上面的操作,就是要发布apk到Android Studio自带的Android模拟器(AVD)上,也就是说要build。

优点:AVD能给我们模拟不同的Android设备,这样子能够更好地测试我们的程序,而且可以在Android Studio的Logcat看到调试信息。

缺点:它不能在Android端进行断点调试,也不能在Unity进行断点调试,而且还需要build

3、发布apk到真机上运行,这个与2差不多,但因为手机只有一个,也就是说只能测试在一台手机的稳定性,而无法测试在其他类型手机的稳定性,若你硬要说,我可以有很多台不同类型手机啊,那是个很愚蠢的想法,所以这种做法基本不会用,一般都会用模拟器来测试,缺点和2一样。

4、发布apk在第三方模拟器,这个与AVD差不多,就是第三方的模拟器毕竟是第三方,AVD是比较正规的,但是这也可以当做一个测试环境来测试我们的程序。

5、发布一个Unity工程到Android Studio上,这个目前还没学习到,这样我们就能够通过Android Studio来进行打断点调试。

凡是打包成apk的发布工程出去的,都无法在Unity进行断点调试。

只有发布工程出去到Android Studio在它的环境下运行的,可以进行Android Studio的断点调试。

 

在这里说下1的原理,为什么它不需要build,为什么需要用teamviewer远程控制手机。

因为Unity Remote 5的作用,它是将Unity上的渲染画面压缩成一些图片格式文件,通过USB线传送到USB连着的手机上,这样就在手机屏幕上显示出了Unity的运行画面,而手机上的输入信息也是通过USB线传入PC电脑的Unity程序上,所以一定要确保USB连接成功,这只是将渲染图片转移到手机上显示,所以不需要build,我们程序还是跑在Unity上的,使用teamviewer远程控制手机其实没什么意义。。。呵呵。

2、3、4、5的程序都是跑在Android环境下的,所以1其实是干什么的,仔细想想它还是在Unity下的程序,只是他喵的把画面传到手机上而已,它的画面如果很大的话,在手机上回进行压缩,就会显示的很他喵的别扭!!所以1,还是基本不会用的,Unity的Android程序即File->Build Settings->切换为Android平台,这样我们的Unity工程就是在Android平台下的模式,但是它还是Unity环境,而非真正的Android环境,但是1很快啊,不用build啊,我觉得好处就是测试Unity设置好的分辨率放在真机上会如何,以及测试UI是否摆放在正确的位置,也就是测试锚点问题 等等,反正它就是把渲染图片通过USB发送给手机,而手机的输入信号也能够输入到Unity进行处理,与在Unity测试差不多,唯一区别就是输入方式改为了触屏。。

猜你喜欢

转载自blog.csdn.net/qq_39574690/article/details/81080816