Unity发布IL2CPP的Windows包不支持Newtonsoft.Json.dll

记录:

制作的项目开始正式发布测试,因此打包IL2CPP后处理的Windows包后,运行发现运行没反应,查看日志后发现是Json报错了。

由于IL2CPP打包时会裁剪代码,因此一开始以为是JSON库被裁剪掉了,因此写了link.xml文件以此来剔除需要被裁剪的范围(如下图),但是这么操作后再次打包测试,发现还是不行,再查看日志,还是Json报错。
在这里插入图片描述
至此开始去查询错误原因,最后发现是IL2CPP不支持运行时代码生成,导致通常使用的Newtonsoft.Json库都不支持
在这里插入图片描述
根据图片中提供的搜索最终找到支持IL2CPP的Newtonsoft.Json库,添加库需要在项目工程的Packages/manifest.json文件中添加引用库即可,打开项目后会自动导入对应json库,并且可以在Package Manager中查看到,并且如果有新版本可以在PackageManager中直接更新。需要在manifest.json中添加的内容如下
在这里插入图片描述

{
    
    
  "scopedRegistries": [
    {
    
    
      "name": "Packages from jillejr",
      "url": "https://npm.cloudsmith.io/jillejr/newtonsoft-json-for-unity/",
      "scopes": [
        "jillejr"
      ]
    }
  ],
  "dependencies": {
    
    
    "jillejr.newtonsoft.json-for-unity": "13.0.102",
  }
} 

猜你喜欢

转载自blog.csdn.net/weixin_43872129/article/details/131842137