Android Studio3.0 build.gradle 中 implementation和api的理解

前言

在项目开发中,通常会有很多module,而这些module之间往往是相互依赖的,而当我们修改其中一个module的外部接口,那么依赖了这个module的其他module,需要重新编译,这样gradle就会编译很慢。

优化

这个操作是可以优化的,所以在android studio3.0 的bulid gradle中就出现了 api 和 implementation作为compile的替代。

  • api:和 compile 的作用一样,当前 module 会暴露其依赖的其他 module 内容。
  • implementation:只在内部使用了该 module,不会向外部暴露其依赖的 module 内容。

说明

比如说我们新建一个项目Demo,在该项目中新建一个module(testlibrary),用该项目去依赖该testlibrary。我们在testlibrary中添加fastJson依赖,通过implementation,如下

dependencies {
     implementation 'com.alibaba:fastjson:1.1.67.android'
}

那么我们在testlibrary中我们是可以使用fastJson,但是我们在app的中是无法使用fastJson的。

你可能感兴趣的:(Android)