unity Could not produce class with ID

unity Could not produce class with ID

PC运行正常,真机崩溃

以安卓手机为例,adb调试查找崩溃原因,显示Could not produce class with ID xxx。

以下是一段日志:

// A code block
04-13 19:47:29.360: E/Unity(8326): Could not produce class with ID 331.
04-13 19:47:29.360: E/Unity(8326): This could be caused by a class being stripped from
 the build even though it is needed. Try disabling 'Strip Engine Code' in Player Settings.

以上提到代码被裁切了。
打开unity设置查看是否开启了代码裁切功能在这里插入图片描述
发现项目中确实开启了。但是不开启会使打包的包体变大。
解决方案:

  1. 去掉勾选重新打包
  2. 在项目的Assets目录下新建一个名为link.xml的文件。
<linker>
  <assembly fullname="UnityEngine">
    <type fullname="UnityEngine.ParticleSystem" preserve="all"/>
    <type fullname="UnityEngine.className1" preserve="all"/>
    <type fullname="UnityEngine.className2" preserve="all"/>
  </assembly>
</linker>

把缺失ID对应的类库添加到link.xml文件中重新打包问题就解决了。
下面是unity官方给出的对照表:
https://docs.unity3d.com/Manual/ClassIDReference.html
链接: id对应类库链接,点击查看.

点击链接加入群聊【unity unity 3D c# lua 交流】
乞丐并不会妒忌百万富翁,但是他肯定会妒忌收入更高的乞丐。——罗素

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱~编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值