關鍵信息:
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等等,后續可修改自增邏輯