【Unity3D学习记录#1】Unity3D Android打包报错:UnityEditor.BuildPlayerWindow+BuildMethodException

【Unity3D学习记录#1】Unity3D Android打包出错:UnityEditor.BuildPlayerWindow+BuildMethodException

问题描述

今天在学习Unity3D时想打包测试,但是却出了如下错误:
UnityEditor.BuildPlayerWindow+BuildMethodException: 19 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x00275] in :0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in :0
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

解决方式

通过重新思考自己的问题,借鉴网上的文章总结了以下解决方式:
1、检查 File -> BuildSettings -> Player Settings -> Player -> Company Name、Product Name、Package Name
这三个输入框内输入的内容是有要求的,如果输入错误,则打包失败,规则如下:

Package Name = com.{Company Name}.{Product Name}

例如 我的Company Name、Product Name分别是"liuchunfei"和"UI",那么我的Package Name就只能输入"com.liuchunfei.UI"。

【Unity3D学习记录#1】Unity3D Android打包报错:UnityEditor.BuildPlayerWindow+BuildMethodException

【Unity3D学习记录#1】Unity3D Android打包报错:UnityEditor.BuildPlayerWindow+BuildMethodException
2、修改Api Compatibility Level
将这个参数改为".NET Standard 2.0",可能会有效果。
【Unity3D学习记录#1】Unity3D Android打包报错:UnityEditor.BuildPlayerWindow+BuildMethodException

3、检查修改Unity3D项目文件夹所在位置
这个错误是最基础的,也是比较容易忘记的,也是我的问题所在。检查时发现Unity3D中错误提示不仅只有开头的一条,还有其他提示:
【Unity3D学习记录#1】Unity3D Android打包报错:UnityEditor.BuildPlayerWindow+BuildMethodException
其中有一条的内容为:

Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http://b.android.com/95744 for details. This warning can be disabled by adding the line ‘android.overridePathCheck=true’ to gradle.properties file in the project directory.

内容很容易理解,即:"项目路径包含非ASCII字符。 这很可能导致Windows上的构建失败。 请将您的项目移到其他目录。"那么解决方法就是将项目文件移动到路径中没有中文字符的地址下即可,如在D盘下新建Unity_Work_Space文件夹,将项目文件放在其下即可打包成功。