美文网首页
Android studio 3.0包的默认依赖改为api

Android studio 3.0包的默认依赖改为api

作者: AR7_ | 来源:发表于2017-11-10 22:02 被阅读30次



      在项目中有两个Android Library分别为latte-ec和latte-core,使用example依赖latte-ec,然后latte-ec又依赖latte-core,但是在example里面调用不到latte-core里面的类Latte,如下图所示:



      解决方案:这个主要是Android Studio 3.0版本的问题,在3.0版本中,compile指令被标注为过时方法,而新增了两个依赖指令,一个是implementation 和 api,这两个都可以进行依赖添加,但是有区别:
      api指令完全等同于compile指令,没区别,你将所有的compile改为api,完全没有错。
      implementation指令简单来说,就是使用了该命令编译的依赖,只会是自身有依赖,而不对外部公开,也就是说,如果latte-ec依赖latte-core使用的是implementation指令,那么example依赖latte-ec时,不可以调用到latte-core里面的资源,只有latte-ec可以。如果example依赖latte-ec时想要调用到latte-core里面的类,就需要latte-ec依赖latte-core时使用api指令。

    相关文章

      网友评论

          本文标题:Android studio 3.0包的默认依赖改为api

          本文链接:https://www.haomeiwen.com/subject/ppkvmxtx.html