Unity 打印安卓apk报错的日志
Posted .卡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 打印安卓apk报错的日志相关的知识,希望对你有一定的参考价值。
文章目录
环境
1.华为手机打开调试模式:
【设置】|【关于手机】|【版本号】点三次。
2.unity3d 环境设置:
【File】|【Building Settings】开启必备选项 (其他非必选,最好勾上):
- Development Build。
- Script Debugging。
连接安卓手机
1.usb 连接安卓手机。
2.【Edit】|【External Tools】找到 android Sdk 的安卓路径。进入 Sdk Install Path / platform-tools 目录,在该目录下,打开 cmd 命令窗口(建议安装 Git Bash,右键 Git Bash 直接打开)。
3.查看已连接的设备,确保电脑已连接手机。
./adb.exe devices
4.,在窗口执行 log 监听命令之后,在手机上运行 apk :
# 参数 unity 表示只打印 unity 相关的日志, E 表示不可解决的错误。
# window
./adb.exe logcat -s Unity
# git bash 只看 error 日志
./adb.exe logcat -s Unity | grep "E Unity" --color
grep 是 git bash 工具提供的命令,window自带的cmd没有这个命令。
附录
[1] Logcat 命令行工具
关于unity使用导入 .unitypackage报错的解决技巧
在开发过程中,大家难免会下载网络demo用来参考,但是网络上的demo,有很大一部分demo在导入时是报错的,此时就需要修复它让它可以顺畅地运行起来。
在使用demo时,就遇到了一种报错,拿出来跟大家分享一下此类的如何解决。下图就是我遇到的问题报错:
Assets/Standard Assets/Scripts/MeshCombineUtility.cs(27,39): error CS1061: Type `UnityEngine.Mesh\' does not contain a definition for `GetTriangleStrip\' and no extension method `GetTriangleStrip\' of type `UnityEngine.Mesh\' could be found. Are you missing an assembly reference?
报错位置在这一行代码:
int curStripCount = combine.mesh.GetTriangleStrip(combine.subMeshIndex).Length;
报错说的是在UnityEngine.Mesh这个类里,既没有GetTriangleStrip\' 这个方法的定义,也没有相关的扩展方法。
我是这样思考的,这个方法可能是由于unity的更新,导致demo的作者使用的这个方法被定义了新的名字,或者被其他类似的方法所取代了。所以,要删掉这个方法名,注意不要删掉他的参数,重新再mesh的后面输入一个点(.)看一下有没有相关类似的方法。
果然我点出了这样一个方法GetTriangles:
public int[] GetTriangles(int submesh, [Internal.DefaultValue("true")] bool applyBaseVertex);
我在使用这个方法后,果然这个报错就消失了,大功告成。
以上是关于Unity 打印安卓apk报错的日志的主要内容,如果未能解决你的问题,请参考以下文章
Unity-使用UnityRemote调试手机Android Studio打印日志