Android组件化开发时无法引用公共模块中的类库问题

在进行组件化开发时我的androix组件都放在commonLib公共组件中去引入的,但是当我在组件中导入AppCompatActivity等类的时候怎么都导不进来。

后来研究了一下发现是因为我在commonLib组件中去引入各种类库的时候用的是implementation,换成api就好了,以前compile也没有这个问题,关于compile跟api没啥区别,现在compile已经被废弃了,在高版本的gralde中使用compile的话会报错。

而 implementation:

implementation编译的依赖只作用于当前的module。即APP module依赖了core module,core module中使用implementation编译的三方库(如glide)只对core module起作用,app module中无法使用该三方库(glide);如果core module 使用implementation依赖了base module,则APP module中无法使用base module。

另外,公用的第三方jar包等也要放在commonLib公共组件中,如果想使用公共组件中的lib的话需要在moudle的build.gradle中添加:

repositories {
        flatDir {
            dirs '../commonLib/', 'libs'
        }
    }

你可能感兴趣的:(Android开发,android,android,studio,gradle,java)