随着AndroidStido3.0的发布,更新,我们会发现项目之前使用的compile以及被弃用了,而被取代为 implementation。下面就介绍一下 implementation 和 compile 之间的区别。
一.implementation 和 compile 之间的区别.
使用implementation时依赖是不可以传递的,但是compile是可以传递依赖的;
现在市场上大型app由于业务繁多,大多采用组件化的方式,这时候就需要新建多个moudle,moudle之间都是依赖的。例如下图分moudle的方式;
app moudle需要依赖下方的所有moudle,下方moudle-prod如果选择compile方式依赖三方库app moudle是可以使用的,但是改成implementation后,app moudle就不能再使用moudle-prod依赖的三方库了。使用implementation后依赖的三方库只能当前moudle使用,不能向上传递了。
二.谷歌为什么要把compile改成implementation?
1. 使moudle之间解耦,不相互依赖。
我们都知道组件化,单个moudle是可以直接运行的,我们想单独运行moudle-prod模块,如果使用的是compile的话,编译的时候app moudle也需要重新编译,但是使用implementation,app moudle就不会编译了。间接提高了编译速度。
总结就到此处了,有不对的理解的地方欢迎在底部评论处指出;