在开发中,我们经常使用compile,api,implementation引入库,这三种是有区别的。

1 api和compile

api和compile关键字作用效果是一样的,使用时可以互相替换。
实际上,api关键字是用来替代compile关键字的,因为compile关键字将来会被弃用。在高版本的gradle,使用compile关键字会报错并提示使用api关键字代替。

 2 implementation

在同一个module下,implementation和api(compile)的使用效果相同,但是在不同module下,就会有所区别了。
例如项目moduleAgradle文件中引用两个包
implementation 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'

然后在appmodule中引用moduleA

compile project(':moduleA')

这时,在appmodule中可以访问以compile方式引入的design包,而不可以访问appcompat包里的类。

简单来说,api、compile具有传递性,implementation只在当前module下可见。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2021-09-19
  • 2021-10-24
  • 2021-05-04
猜你喜欢
  • 2021-12-02
  • 2021-10-13
  • 2022-12-23
  • 2021-12-18
  • 2021-05-19
  • 2021-07-01
相关资源
相似解决方案