参考:https://juejin.im/entry/5acf1ef56fb9a028cd457b6e
原因:按照android stadio 3.1的要求,需要把gradle版本升级为 4.4及以上,但是gradle 4.4及以上要求将依赖api的compile换成implementation。而implementation声明的依赖没办法传递到module以外,即该module 以外module没办法引用到implementation声明的api。
即:module A implementation libA,而 moduleB implementation module A,那么module B 引导 libA 中的api,不然在build的时候会报
解决办法:将compile 替换为 api即可,也就是如果有外部引用,则换成:api,剩下的换成:implementation。
dependencies { api project(':domain') def appDependencies = rootProject.ext.appDependencies implementation fileTree(dir: 'libs', include: ['*.jar']) implementation appDependencies.appcompat implementation appDependencies.design implementation appDependencies.cardView implementation appDependencies.percent implementation appDependencies.rxJava implementation appDependencies.rxAndroid implementation appDependencies.fresco implementation appDependencies.umeng implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') { transitive = true; } testImplementation 'junit:junit:4.12' }