1、问题背景
- gradle 4
- MacOs 10.14.3
- Android Studio 3
在android模块化的时候,例如,有两个模块,一个是usercenter
,另一个是common
。
其中usercenter
是依赖于common
,在usercenter
的build 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之后使用api
和implementation
重点来了,
implementation :使用了该命令编译的依赖,它仅仅对当前的 Module 提供接口。
也就是说,使用 implementation ,其他模块是无法访问本模块 implementation 下的库。如果想让其他模块访问,将 implementation 改为 api 就可以了