背景公司业务需要将原单机游戏升级为在线对战游戏。最近刚刚看到华为平台联机对战SDK的文档发布。C#语言接入指南文档问题重现步骤SDK下载导入由于原游戏是Unity2017开发的,所以一直没有更新。所以这个SDK测试demo也是用的老版Unity。按照文档中的步骤集成SDK,下载对战SDK压缩包。解压打开后如下图:将SDK导入到工程中。我们目前的游戏主要是在安卓平台上。按照文档要求导入所有游戏后,删除Windows_x64和Windows_x86文件夹,如下文档所示:构建Apk打包报错如下:Foundpluginswithsamenamesandarchitectures,Assets/HuaweiPluins/Android/libs/armeabi-v7a/libRtsaDllExport.so()和Assets/HuaweiPluins/Android/libs/arm64-v8a/libRtsaDllExport.so()。分配不同的架构或删除重复的。解决问题,首先从报错的角度来看,是相关文件夹中存在同名文件冲突,导致报错。又看到文档中有提示“如果帧同步过程中没有使用UDP协议,可以删除压缩包中的Android、Windows_x64和Windows_x86文件夹,以保持包最小化”,于是删除了Andriod文件。,并复制里面的所有文件。如下图:执行打包再次报错如下:ArgumentException:TheAssemblySystem.RuntimeisreferencedbySystem.Memory('Assets/HuaweiPluins/System.Memory.dll')。但不允许包含或找不到该dll。相关资料大部分是从网上搜索到的:打开BuildSettings-->PlayerSettings面板,在otherSettings中,将ApiCompatibilitylevel改为.NET2.0,即可解决问题。后来经过不断的尝试和观察,当我们点击任意一个SDK文件时,看选项卡:选择ExcludePlatform下的三个选项,点击右下角的“Apply”按钮:可以一次性选择所有SDK文件for“Apply”导入,终于解决了困扰大家一天的问题。
