Unity3D 2021 使用 SharpZipLib 遇到的安卓打包 I18N 相关问题

在 Unity3D 中,使用 ICSharpCode.SharpZipLib.dll 来做压缩和解压缩,但打包安卓后遇到问题,原因是字符编码程序集被裁减掉了导致。

根据网上搜索,将 UnityEditor 对应目录下的 I18N开头的,比如 I18N.CJK.dll 等系列文件拷贝到工程的 Plugins 的目录下(比如放到 Plugins/I18N 目录中),但这个时候 Unity打包时直接报 NDK 版本不合适。

后来发现 I18N 在Unity 2021 版本中有好多,不能用2021.3.29f1c1\Editor\Data\MonoBleedingEdge\lib\mono\unity目录下的,而要用2021.3.29f1c1\Editor\Data\MonoBleedingEdge\lib\mono\unityjit-linux 这个目录的,就可以了。

感谢这篇文章的提示:

bunity解压缩文件踩坑记录_unity invalid il code in i18n._带酒书生的博客-CSDN博客​​​​​​​h

补充:后来由于其他某些原因对项目的设置进行了系列折腾(包括更换了 SharpZipLib 为更新的版本,好像是1.4.3),然后发现不将 I18N 这些dll放到工程里,打包到安卓后也能正常压缩和解压了。 应该是某个设置导致不再裁剪字符编码程序及,或者是SharpZipLib新版本不再使用字符编码程序集了。 

你可能感兴趣的:(unity,c#,安卓)