来源:https://blog.csdn.net/ChinarCSDN/article/details/79597142
本文链接:https://blog.csdn.net/ChinarCSDN/article/details/79597142
Chinar blog :www.chinar.xin
Unity打包出错解决方案
本文提供全流程,中文翻译
Chinar 的初衷是将一种简单的生活方式带给世人
使有限时间 具备无限可能
Chinar —— 心分享、心创新!
助力快速解决 Unity 打包中常见错误
给新手节省宝贵的时间,避免采坑!
文章目录
1
Name not set —— 未设置修改包名 / 公司名 / 项目名
2
SDK Tools —— Unity版本低,需要安卓工具版本也应低些
3
AR Vuforia Android TV —— Vuforia AR 发开中,打包安卓报错
4
Quote UnityEditor —— 脚本引用 UnityEditor,导致无法打包
5
Socket: bind failed, error: —— 套接字绑定失败
5
In continuous update —— 持续更新中....
支持
May Be —— 开发者,总有一天要做的事!
1
Name not set —— 未设置修改包名 / 公司名 / 项目名
错误发生场景
由于未设置修改 包名 / 公司名 / 项目名
导致报错,最为简单
具体报错信息:
UnityException: Package Name has not been set up correctly
Please set the Package Name in the Player Settings. The value must follow the convention ‘com.YourCompanyName.YourProductName‘ and can contain alphanumeric characters and underscore.
Each segment must not start with a numeric character or underscore.
1
2
3
Error building Player: 2 errors
1
UnityEditor.BuildPlayerWindow BuildMethodException: 3 errors
at UnityEditor.BuildPlayerWindow DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in
1
2
Build completed with a result of ‘Failed‘
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
1
2
解决方案:
更改 公司名 / 包名 / 项目名
------
2
SDK Tools —— Unity版本低,需要安卓工具版本也应低些
错误发生场景
一般高版本的 2017.2-2017.3 都不会报此错误
常见于 5.X 版本
具体报错信息:
Error:Invalid command android<br>UnityEditor.HostView:OnGUI()
1
CommandInvokationFailure: Unable to list target platforms.
Please make sure the android sdk path is correct. See the Console for more details.
1
2
Error building Player: CommandInvokationFailure:
Unable to list target platforms.
Please make sure the android sdk path is correct. See the Console for more details.
1
2
3
解决方案:
更换安卓工具包,至较低的版本
1. 点击下载 —— 安卓工具包 24 版本
2. 解压后替换 安卓 SDK 中的 Tools 文件夹
3. 然后重新打包,即可成功!!!
反之:如果 Unity 版本高,同样需要换成高版本的 安卓 SDK Tools
3
AR Vuforia Android TV —— Vuforia AR 发开中,打包安卓报错
错误发生场景
由于 Vuforia 不支持 Android TV ,导致报错
具体报错信息:
Vuforia does not support Android TV. Please disable the Android TV compatibility in the Player Settings.
UnityEngine.Debug:LogError(Object)
BuildObserver:OnPreprocessBuild(BuildTarget, String)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
1
2
3
4
5
6
Error building Player: Vuforia does not support Android TV. Please disable the Android TV compatibility in the Player Settings.
1
Build completed with a result of ‘Failed‘
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
1
2
3
UnityEditor.BuildPlayerWindow BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in C:buildslaveunitybuildEditorMonoBuildPlayerWindowBuildMethods.cs:181
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00065] in C:buildslaveunitybuildEditorMonoBuildPlayerWindowBuildMethods.cs:88
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
1
2
3
4
5
解决方案:
所以需要在 Player Setting 中关闭该选项
即可成功打包工程
4
Quote UnityEditor —— 脚本引用 UnityEditor,导致无法打包
错误发生场景
打包项目/工程时报错
Unity Asset 目录中,如果脚本中引用了 UnityEditor
那么该脚本就应该放在 Editor 文件夹下 ( 如果没有,就新建一个名为 Editor 的文件夹)
具体报错信息:
Assets/CreateGuanJians.cs(4,7): error CS0246: The type or namespace name `UnityEditor‘ could not be found. Are you missing an assembly reference?
1
Error building Player because scripts had compiler errors
1
Build completed with a result of ‘Failed‘
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()
1
2
UnityEditor.BuildPlayerWindow BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in C:buildslaveunitybuildEditorMonoBuildPlayerWindowBuildMethods.cs:181
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00065] in C:buildslaveunitybuildEditorMonoBuildPlayerWindowBuildMethods.cs:88
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()
1
2
3
4
5
解决方案:
将引用有 UnityEditor 的脚本放在 Editor 文件夹下
( 如果没有,就新建一个名为 Editor 的文件夹)
即可成功打包工程
5
Socket: bind failed, error: —— 套接字绑定失败
错误发生场景
打开/新建 Unity 项目时报错
这是由于权限不够,或者网络端口被占用造成的
具体报错信息:
Socket: bind failed, error: 以一种访问权限不允许的方式做了一个访问套接字的尝试。
(0)
1
2
3
Unable to join player connection multicast group.
1
解决方案:
1. 直接 Clear 清空控制台,不用理它
2. 用管理员权限打开 Unity (可选)
5
In continuous update —— 持续更新中…
错误发生场景
错误不断更新中…最后汇集所有报错指南
请您惠存,支持 Chinar
————————————————
版权声明:本文为CSDN博主「Chinarcsdn」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ChinarCSDN/article/details/79597142