关于升级MIUI12后,小部分游戏报错(failed to load mono)进不去的解决办法

由于小米系统已经在昨天升级到了MIUI12,我自己也是小米手机的忠实用户,所以迫不及待的升级了一波MIUI12,用着感觉还不错,估计小米的大部分用户也都会迫不及待的升级到MIUI12吧。

然而第二天就被人告知我们游戏在MIUI12系统上崩了,大致是出现了下面的情况。(Failed to load Mono),看到这个就想到是mono那边报错了。因为我们对dll加密了,所以使用了自己编译的mono。可能是升级miui后,触及了安卓n的私有API禁用规则(具体请看https://blog.csdn.net/weixin_43901866/article/details/88044563),所以导致mono反射调用私有api时挂掉了。但是随着进一步查日志后发现不是这么回事!

 

 查日志后发现有这么一个报错,大致意思是/system/lib/libmonobdwgc-2.0.so在被调用时不可访问或者找不到了。

 

 

后面看了我们包里面的libs发现确实是没有这个so的,所以需要加到包里面去。

在反复测试打包后终于发现了原因,我们项目把Scripting Runtime Version设置为了.Net3.5,所以在打包时并不会把libmonobdwgc-2.0.so加到包里面,但是设置为.Net4.x以后打包就会自动引用libmonobdwgc-2.0.so。出来的包装到miui12系统上也没有问题了。

如果还有问题请留言一起讨论!!!

posted @ 2020-04-28 23:27  陌路契约  阅读(4415)  评论(4编辑  收藏  举报