这个类型的报错有几种情况,我这次遇到的时候module里面的同样的类依赖多次。
1、比如说重复的包是A。B依赖A,C也依赖A,D依赖B和C和A。那这里实际解决D的重复依赖问题。所以B中的A和C中的A需要使用implementation来依赖。这样D就不会有依赖重复。D中的依赖A可以用api或者implementation都可。一般这种情况,这个A就有点类似是公共的api了。对于公共的api我个人觉得可以类似那种谷歌的库一样,直接都用implementation就行了。或者搞一个公共的module,里面的库都是以api形式依赖提供。
这里有一个容易混淆的地方。
B api A , C implementation D。
如果D implementation B:D可以使用A,C不能使用B。
D api B: D可以使用A,C能使用B。