Android Studio Gradle: Implementation vs API dependency

本文介绍了Android Studio 3.0中Gradle plugin 3.0引入的Implementation和API依赖的区别,以及它们如何影响编译速度和依赖关系。对比2.x版本,3.0通过Implementation防止了接口泄露,减少了不必要的模块重编译,从而提高了编译效率。同时提到了CompileOnly和RuntimeOnly的作用,帮助开发者更好地理解和优化项目构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

升级到Android Studio 3.0 后有没有发现编译项目的速度提高了?

为什么会这样呢?是因为Stuido 3.0 中支持了 Gradle plugin 3.0, Gradle plugin 3.0 在 dependencise 块中为我们带了一下新的API:

  • compileapi 所代替。
  • providedcompileOnly 代替
  • apkruntimeOnly代替
  • 引入了新的implementation

我了更好的理解 Gradle plugin 3.0 所带来的性能提高,我们来和Gradle plugin 2.x对比进行分析一下:

Gradle plugin 2.x

假设有如下一种情景:

这里写图片描述

我们有一个工程Project, 包含一个App module 和 10个 Library module,其中他们的依赖关系如上图所示。
每一个module 里面仅有一个简单的class。

Library1:

public class Library1 {
   
   
    public static String getString() {
        return "Im,Library1  -> " + Library11.getString();
    }
}
// Library1 依赖 Library11
dependencies {
    ....
    compile project(':library11')
}

Library11

public class Library11 {
   
   
    public static String getString() {
        return "Im,Library11  -> " + Library111.getString();
    }
}
// Library11 依赖 Library111
dependencies {
    ....
    compile project(':library111')
}

Library111

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮克桃在写代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值