栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 游戏开发 > Unity3D

自动打包报错Fatal Error! GetManagerFromContext: pointer to object of manager ‘MonoManager‘ is NULL (table

Unity3D 更新时间:发布时间: 百科书网 趣学号

引言

Jenkins自动打包时,总会打包失败,报错 Fatal Error! GetManagerFromContext: pointer to object of manager 'MonoManager' is NULL (table index 5)。怀疑是Unity IAP中的UDP低版本的一个bug导致的,以下介绍临时解决步骤和自测过的最终解决步骤。

2~5步骤可以用断网来解决,但一般自动打包的打包机是在远程,断网再进行操作会比较麻烦


临时解决步骤

1. 关闭Unity和UnityHub

1.1 包括菜单栏右下角的UnityHub都要关闭

2. 打开Windows防火墙-高级设置

2.1 菜单栏网络点击右键-打开"网络和 Internet"设置

2.2 点击Windows防火墙

2.3 点击高级设置

3. 设置Unity和UnityHub入站规则(如果已设置,请跳过以下步骤)

3.1 点击左侧入站规则,再点击右侧新建规则

3.2 点击下一步

3.3 浏览选择Unity安装路径下的Unity.exe文件,点击下一步

3.4 先选择阻止连接,再点击下一步

3.5 点击下一步

3.6 输入名称,点击完成

3.7 UnityHub.exe同理,再执行一次3.1~3.6步骤

4. 设置Unity和UnityHub出站规则(如果已设置,请跳过以下步骤)

4.1 点击左侧出站规则,再点击右侧新建规则

4.2~4.7 设置出站规则,步骤与3.2~3.7一致,最后保证四个规则都设置好

5. 启动禁止Unity和UnityHub入站及出战规则(4个)

6. 启动UnityHub,随便打开一个工程,建议是空工程

6.1 此时启动UnityHub会提示服务器无响应,这说明防火墙规则拦截成功了,成功使Unity和UnityHub没有了网络连接

6.2 确认打开Unity工程后,把防火墙高级设置里的四个规则禁用,此时比较关键,此时不要点击打开UnityHub

 

6.3 在Unity工程里点击菜单栏的File,再点击Open Project即可解决这个问题,再次打包就不会报这个错了


最终解决步骤

1. 将Unity IAP中的UDP删除

在Unity工程的AssetsPluginsUDP文件夹,将此文件夹删除

2. 在PackageManager里搜索下载UDP(步骤2和步骤3任选其一)

3. 或直接修改manifest.json文件(步骤2和步骤3任选其一)

修改项目根目录的Packages下的manifest.json文件,在dependencies里新增一条

"com.unity.purchasing.udp": "2.0.0",

版本号最好与Unity IAP的版本号保持一致,比如Unity IAP的版本号为2.0.6,就只能选择2.0.0版本的UDP

保存进入Unity,会自动下载导入UDP插件,成功后可以在PackageManager里查看

4. 最后提交git,打包测试iOS支付没有问题即可,平时打包再看会不会出Fatal Error! GetManagerFromContext: pointer to object of manager 'MonoManager' is NULL (table index 5)的问题了

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1070421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号