困扰了好久,不得不耐心看日志,由于忘记截图,而且解决方法比较简单但过程非常折磨人,所以记录下来分享给大家:
一、先说一下组件化打包过程一般会报哪些错:
- 清单文件中package重复造成R文件重复;
- BuildConfig重复;
- DexArchiveMergerException:dex合并异常;
- build文件夹下*_viewbinding类中R文件找不到;
- 等等你看到的类重复问题
二、解决方式
- Module中AndroidManifest.xml的package一定不能一样,建议“app主包名+模块名”
- 确保package不一样之后,每个module必须clean
- 代码中R文件导入正确,如果使用了ButterKnife(BK),所有BK的注解中必须使用R2,其他非BK的地方必须使用R
- 方法超过64K采用dex分包:请百度android 方法数超过64K
- 组件module禁止相互依赖,所以组件只能直接被主module(壳工程)引入
- 外部依赖库不能使用多个版本,会造成版本冲突。