module中引入的jar包,为何在app中使用jar包中的类?module 引入的jar包,App 提示add libraryXXXX

问题
老项目中在app中引入了一个module,由于系统提示2018年弃用compile,所以顺带将module中compile所幸都换成了implementation ,但是编译的时候,在app中有个类中死活找不到类。但是明明将jar引入了。

解决方法
新旧Glide的区别
将implementation 编程api解决问题。那么就记录下三者的区别,方便以后忘记:

complile: 以前的老写法,大概在gradle 3.x后弃用(as会提醒2018年全面替换implementation)
implementation: 首先使用这种方式替代complile,大概的意识可以提升glide编译速度。
api:想当于compile。在implementation不能满足的时候,在选择的方法。

2.api和implementation的区别 
api和implementation相当于java中的public和private。他们是有作用范围的。在module中使用implementation引入的jar,只能在本module中使用,app中是无法找到类的。 所以如果在app中想要引用module中jar的类,需要将module中的jar的引用换成api。
--------------------- 
作者:奋斗的IT小民工 
来源:CSDN 
原文:https://blog.csdn.net/u013040819/article/details/80832987 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/hasayaqimomo/article/details/89188825