Android项目模块化遇到的问题

1、问题背景

  • gradle 4
  • MacOs 10.14.3
  • Android Studio 3

在android模块化的时候,例如,有两个模块,一个是usercenter,另一个是common
其中usercenter是依赖于common,在usercenterbuild gradle添加如下的语句

implementation project(':common')

common中包含的是一些公共库,比如Anko

implementation "org.jetbrains.anko:anko-commons:$anko_version"

2、出现的问题

usercenter中不能使用Anko

3、原因以及解决办法

Android Studio 2.x版本的依赖方式一般是compile
3.x之后使用apiimplementation

重点来了,
implementation :使用了该命令编译的依赖,它仅仅对当前的 Module 提供接口。
也就是说,使用 implementation ,其他模块是无法访问本模块 implementation 下的库。如果想让其他模块访问,将 implementation 改为 api 就可以了

猜你喜欢

转载自www.cnblogs.com/huangjiaming/p/10433046.html
今日推荐