implementation :在编译期间只对当前宿主可见,对其他宿主隔离。 能加快编译 :,当宿主发生变化重新编译时,库不需要再编译,只需要编译这个宿主。 compile ,库和宿主都要重新编译
compileOnly:只参与编译,不会打包到apk 中。 基于这一点,一般情况下是用来引用编译时注解的类库 。
一般baseLibrary 中 引入 以下这些注解类库的相关库,组件不用引入注解库库的相关库,只要用compileOnly注解库,解决重复依赖的问题。
如果您在其他模块以compile的方式依赖了相同lib,最终在打包过程中可会出现重复代码,
runtimeOny:引用子模块最好选择runtimeOnly来保证代码完全隔离。(隔离效果最好)