乐趣区

关于javascript:Unity-2017导入华为联机对战SDK报错Found-plugins-with-same-names-and

背景

公司业务需要把原始的单机游戏升级成联机对战型游戏,近期刚好看到华为平台联机对战 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.

解决解决

  1. 首先从谬误看是相干文件夹中有同名文件抵触导致谬误。也看到文档中有提醒“如果帧同步过程中不应用 UDP 协定,则您可将压缩包中的 Android、Windows_x64 和 Windows_x86 文件夹均删除,以放弃包体最小 ”,所以就删除了 Andriod 文件下,并把外面文件全都复制进去。
    如下图:
  2. 执行打包再次报错如下:

    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”导入,困扰一天的的问题最终解决。

退出移动版