今天弄项目在弄的时候,发现一个问题,我在电脑上运行的时候,一点问题没有,但是我打包成apk包后,加载配置表的时候卡住了。
因为没有Log,很难定位问题所在,所以我给项目加上了一个SRDebugger插件,用来显示一下内部的报错信息。
错误提示的是PlatformNotSupportedException,然后看了堆栈是从Newtonsoft.Json 的api: DeserializeObject 中报出的,查了一下是因为版本问题。
然后我就去看了一下项目中的dll的版本,发现是.NET 3.5版本的,然后我再去看了一下打包安卓的.NET版本,发现是4.x版本。
所以我将项目的dll删掉,换成了4.5的版本,然后就正常work了。
环境:unity2018.3.4 Scripting RunTime Version : .NET 4.x Equivalent
<img src="http://blog.gameprojecter.com/wp-content/uploads/2020/06/script_version-300x57.png" alt="" width="300" height="57" class="alignnone size-medium wp-image-130" />
<img src="http://blog.gameprojecter.com/wp-content/uploads/2020/06/json_version-300x284.png" alt="" width="300" height="284" class="alignnone size-medium wp-image-131" />
这个坑在这里记录一下,版本这东西,尽量跟着项目走。
最后说一点,我的Newtonsoft.Json 的4.5版本,是自己下载源码,然后去生成dll的。
源码地址:<a href="https://github.com/JamesNK/Newtonsoft.Json">https://github.com/JamesNK/Newtonsoft.Json</a>
在Unity项目中,作者遇到打包成APK后加载配置表卡住的问题,通过添加SRDebugger插件发现是Newtonsoft.Json的PlatformNotSupportedException错误。原因是项目使用的.NET3.5版本与打包时的4.x版本不匹配。更换为4.5版本的Newtonsoft.Json并重新编译后,问题得到解决。
1947

被折叠的 条评论
为什么被折叠?



