记录:
制作的项目开始正式发布测试,因此打包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",
}
}