将Android Studio升级到3.1.4之后,碰到一个问题,就是原先的融云中的方法不能使用了,在网上查询之后找到这个原因:
按照android stadio 3.1的要求,需要把gradle版本升级为 4.4及以上,但是gradle 4.4及以上要求将依赖api的compile换成implementation。而implementation声明的依赖没办法传递到module以外,即该module 以外module没办法引用到implementation声明的api。
原来我之前就已经把包括融云内部的引用compile都换成了implementation,而融云自身的libs依赖就没办法传到外部的app里面,所以才会出现这个问题。
解决方法:
如果第三方包也有外部引用,就将implementation改成api,比如:
将
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation project(':IMKit')
改成
api fileTree(include: ['*.jar'], dir: 'libs')
api project(':IMKit')
然后重新build一下就解决了