Unity 2017导入华为联机对战SDK打包报错“Found plugins with same names and architectures”
2023-09-11 14:17:16 时间
背景
公司业务需求把原始的单机游戏升级成联机对战型游戏,近期刚好看到华为平台联机对战SDK的文档发布。
C#语言接入指导文档
问题复现步骤
SDK下载导入由于原始游戏在Unity 2017版本开发,一直都没有更新。所以本次SDK测试demo也采用的是老版本Unity。按照文档集成SDK步骤,下载联机对战SDK压缩包。
解压打开后如下图:
SDK 导入到工程中我们目前游戏主要是Android平台,按照文档要求全部导入后,删除了Windows_x64和Windows_x86文件夹,如下图文档所示:
Build Apk打包报错如下:
Found plugins with same names and architectures, Assets/HuaweiPluins/Android/libs/armeabi-v7a/libRtsaDllExport.so () and Assets/HuaweiPluins/Android/libs/arm64-v8a/libRtsaDllExport.so (). Assign different architectures or delete the duplicate.
解决处理
- 首先从错误看是相关文件夹中有同名文件冲突导致错误。也看到文档中有提示“如果帧同步过程中不使用UDP协议,则您可将压缩包中的Android、Windows_x64和Windows_x86文件夹均删除,以保持包体最小”,所以就删除了Andriod文件下,并把里面文件全都复制出来。
如下图:
- 执行打包再次报错如下:
ArgumentException: The Assembly System.Runtime is referenced by System.Memory ('Assets/HuaweiPluins/System.Memory.dll'). But the dll is not allowed to be included or could not be found.
从网上搜索相关资料大多:打开Build Settings–>Player Settings面板,other Settings中,将Api Compatibility level变更为.NET 2.0即可
3. 问题解决
后来经过不断的尝试和观察,当我们点击任意一个SDK文件时,看选项卡:
选中Exclude Platform 下三个选项并点击右下角的“Apply”按钮:
可以一次性选中全部SDK文件进行“Apply”导入,困扰一天的的问题最终解决。
相关文章
- python导入包命名报错和路径报错
- oracle导入命令,记录一下 数据库日志太大,清理日志文件
- ASIHTTPRequest 框架的导入
- 导入和作用域 #596
- 包中常用导入方法
- docker export import后,导入镜像,启动时的错误,Error response from daemon: No command specified
- eclipse下导入工程的小问题
- 导入HDFS的数据到Hive
- 用EXCEL导入QC需求和测试用例详解
- Unity 工具 之 VText 简单快速实现 文字 3D 效果,VText 的导入设置和简单使用(可支持中文字体)
- C语言图形导入与导出
- IDEA从零到精通(33)之IDEA优化导包(自动导入包、删除包)
- idea导入maven项目时需要注意