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打印日志

Unity-安卓篇

unity导出的安卓apk运行第一个场景没问题,第二个场景闪

Unity打包安卓APK常见问题

unity打包-1.打包安卓apk

unity打包-1.打包安卓apk