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 就可以了

Android项目模块化遇到的问题

上一篇:Spring Boot通过application.yml配置文件获取属性及类信息


下一篇:【机器学习算法-python实现】采样算法的简单实现