一、问题描述
笔者在base库中全部使用implementation配置anko,provider库依赖base库, user module依赖provider库,然后在user module中使用扩展方法toast不成功,使用api则成功;
二、问题解决
Android Studio 3.0以上,gradle版本更新之后,采用新的方法 api和implementation 来作为compile的替代原来的方法。
那么api和implementation有什么区别呢?
api
同compile作用一样,即认为本module将会泄露其依赖的module的内容。
implementation
本module不会通过自身的接口向外部暴露其依赖module的内容。
三、方法选择
若想要让一个module调用该module所依赖的module的库的API,则使用api,反之,则使用implementation。