React-Native Release包闪退,Debug包正常
2022-04-03 本文已影响0人
vincent涵
关键信息:
1、Unhandled JS Exception: Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication),
2、Debug正常,Release包闪退。Android/iOS相同
3、项目有metro分包打包
4、新引入了一个第三方,新建一个项目使用该第三方没问题
结论/原因:moduleId重复导致
1、metro分包,固定了各个module的moduleId(比如我们的项目是login模块1000,main模块2000等等),各模块内引用的第三方库模块在本模块基础上自增处理,比如1001,1002
2、引入第三方前没问题(自增模块比较少,没超过1000);引入第三方后,超过了1000,比如出现了2000,与main模块冲突,闪退
3、debug模式因为不涉及分包,所以无影响
处理方式
临时处理为将主要模块改为10000、20000等等,后续可修改自增逻辑