implementation可以让 module在编译时隐藏自己使用的依赖,但是在运行时这个依赖对所有模块是可见的。

举个例子

//   在 build.gradle(app) 中添加
implementation project(':lib-one')
//  在 build.gradle(lib-one) 中添加
implementation project(':lib-two')

如此一来,lib-one 可以使用 lib-two 中的类,app 可以使用 lib-one 中的类,但 app 不能使用 lib-two 中的类

api与compile一样,无法隐藏自己使用的依赖

//   在 build.gradle(app) 中添加
api project(':lib-one')
//  在 build.gradle(lib-one) 中添加
api project(':lib-two')

如此一来,app 就可以使用 lib-two 中的类了

对于lib中的类,如果希望别的module使用也要使用 api

 api fileTree(dir: 'libs', include: ['*.jar'])

总结:如果依赖只是自己使用可以用 implementation 导入,如果别的module也要使用,最好用 api

api 与 implement 的区别相关推荐

  1. api与implementation的区别

    一.从3.4版本的gradle开始,compile已经被api与implementation取代,官网也给出了三者之间的区别: 图1.api与implementation的区别 从官网介绍可以看出,i ...

  2. api网关和esb区别_具有ESB,API管理和Now .. Service Mesh的应用程序网络功能。

    api网关和esb区别 我最近谈论了微服务模式的演变,以及来自Lyft的Envoy之类的服务代理如何帮助将弹性,服务发现,路由,指标收集等责任推到应用程序下一层. 否则,我们冒着希望并祈祷各种应用程序 ...

  3. 软件开发:API和SDK的区别与联系

    目录 一.API 1.发展由来 2.概念 3.应用案例 4.分类 二.SDK 1.概念 三.API和SDK的区别与联系 一.API 1.发展由来 随着软件规模的日益庞大,常常需要把复杂的系统划分成小的 ...

  4. API:什么是API?API与interface的区别

    我们都知道,API就是接口,那是什么鬼呢? 1.什么是API? api接口开发,其实和平时开发逻辑差不多:但是也有略微差异: 平时使用mvc开发网站的思路一般是都 由控制器 去 调用模型,模型返回数据 ...

  5. SDK与API的联系与区别

    在手机App的世界里,法规条文里所谓的"第三方应用或服务"是个看得见摸不着的存在.但事实上,不管是你每天收到的新闻推送,还是促销活动广告,甚至短信验证码,都有可能出自第三方之手. ...

  6. gradle compile mysql_Gradle配置implementation、api与compile的区别

    自Gradle 3.4开始,compile被废弃,取而代之的是implementation和api两个配置项. 掌握这三者的区别实际上就是要清楚什么情况使用implementation替换compil ...

  7. webservice接口和http接口(API接口)的区别

    web service(SOAP)与HTTP接口的区别: 什么是web service? 答:soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式Content-type设置为 ...

  8. API和SDK的区别

    随着软件规模的日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要,程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分,良好的接口设计可以降低系统各部分的相互依赖, ...

  9. API 和 SDK 的区别

    API:只需要传固定的地址,向地址传递参数,实现功能 可以 用 httpClient 技术可以调用api 地址 例如: SDK : sdk是对api的封装,更方便用,只需要我们导入 maven 依赖 ...

  10. Interface、extends、implement的区别

    interface是定义接口的关键字. implement是实现接口的关键字. extends是子类继承父类的关键字. 1.interface接口定义不能包含任何属性(如:public.private ...

最新文章

  1. 优质机器学习方面文章
  2. UVA - 1346 Songs (贪心+排序)
  3. Springmvc入门案例(1)
  4. C++表白代码--Beating heart
  5. 带网格的_雨花区井圭路社区开展消防安全网格化实战演练活动
  6. Cornerstone 4 for Mac(SVN管理工具)
  7. [离散数学]命题逻辑P_1:什么是命题
  8. 数据库基础学习-计划内容 For 小样儿
  9. 服务器端口是什么?在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是
  10. 摸鱼神器 Thief-Book
  11. 设计模式之禅【适配器模式】
  12. redis的zset为什么用跳表不用红黑树
  13. 攻防世界 MISC 高手进阶区 就在其中WP 解题思路
  14. 十、FFmpeg视频播放之快进快退
  15. c语言打字游戏程序设计报告,打字游戏程序设计报告.doc
  16. 企业会计准则应用事务【1】
  17. 1179:最小公倍数和最大公约数
  18. linux下安装搜狗输入法(网上找的资料)
  19. maya之3d paint tool(3d绘制工具)
  20. bootstrap validator ajax提交,bootstrapValidator中用ajax校验

热门文章

  1. 大学计算机教程王梦倩,【经验共享】中国矿业大学资源学院辅导员王梦倩
  2. 各种学习网址总结-程序猿值得拥有 持更
  3. 中国的程序员培训是不是有问题
  4. 暑期实践第二十九天 2022-8-1
  5. 初学者如何快速搭建一个属于自己的网站
  6. zsh历史记录文件损坏: zsh: corrupt history file /home/admin/.zsh_history
  7. Win10上安装ue4后无法运行问题的解决方法
  8. codeforces 794D Labelling Cities
  9. 计算机在开机时会进行自检遇到,电脑开机自检卡住了怎么办
  10. 联想电脑重装win7系统详细图文教程