Gradle 升级到 3.0.0 之后 implementation 与 compile 之间的区别

在 Android studio 升级到 3.0 版本之后,dependencies 中  implementation 替代 compile。

那么新版的 Gradle 中 implementation 和 compile 有什么区别呢?

当项目依赖关系是 app > module 时,在 module 的 build.gradle 下:

1.如果使用 implementation 依赖的库,可以防止外部使用。

2.如果通过 compile 或 api 依赖的库,是可以在外部使用该 module 依赖的库。这样就可以达到“依赖的传递”关系。

那么这样做有什么作用呢?

1.没有依赖的传递,减少重复依赖的意外使用

2.加快编译速度

3.当依赖发生变化,只有直接添加该依赖的 module 需要重新编译。

在依赖第三方资源时,常出现的 com.android.support 冲突,很大概率就是因为 compile 的版本不一致导致的问题。

当然解决这个问题有很多种办法,这里推荐一篇博客专门介绍如何处理这个冲突问题

发布了48 篇原创文章 · 获赞 10 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jacksinrow/article/details/95399255