android studio 版本升级到 3.x.x 之后版本,gradle有啥变化呢?
Gradle依赖变化
3.0前 | 3.0后 | 说 明 | 作 用 |
---|---|---|---|
compile | implem-entation | 依赖项在编译时对模块可用,并且仅在运行时对模块的消费者可用。 对于大型多项目构建,使用implementation而不是api/compile可以显著缩短构建时间,因为它可以减少构建系统需要重新编译的项目量。 大多数应用和测试模块都应使用此配置。 | 使用implementation方式来依赖项目或库,该库在编译时,只对当前的module可见,对其他的module不可见。 |
compile | api | 依赖项在编译时对模块可用,并且在编译时和运行时还对模块的消费者可用。 此配置的行为类似于compile(现在已弃用),一般情况下,您应当仅在库模块中使用它。 应用模块应使用implementation,除非您想要将其 API 公开给单独的测试模块。 | 使用api方式来依赖项目或库,该库在编译和运行时都可以对其他module可见。 |
provided | compile-Only | 依赖项仅在编译时对模块可用,并且在编译或运行时对其消费者不可用。 此配置的行为类似于provided(现在已弃用)。 | 使用compileOnly方式来依赖项目或库,该库仅在编译时有效可用。 |
apk | runtime-Only | 依赖项仅在运行时对模块及其消费者可用。 此配 |