org.gradle.api.internal.tasks.co

2019-07-24  本文已影响0人  CreScert
image.png

网上好多家有说:
1.compile 替换为 api
2.File -> Invalidate Caches -> Invalidate and Restart

可是在我这里依旧没用,对于解决办法1,是这么说明的

按照android stadio 3.1的要求,需要把gradle版本升级为 4.4及以上,但是gradle 4.4及以上要求将依赖api的compile换成implementation。而implementation声明的依赖没办法传递到module以外,即该module 以外module没办法引用到implementation声明的api。

如果是这个原因的话,我升级3.x已经有一段时间了,一直是用compile或implementation声明引用第三方库的,都没出现这样的 问题,当时就纳闷,就尝试了以下解决方案:

将compile 替换为 api即可,也就是如果有外部引用,则换成:api,剩下的换成:implementation,
在新建的项目中:


image.png

将所有的implementation改成api还是不行。

最后排查问题,是因为我用到了rxpermission,所以我使用了java1.8,所以


image.png

我只改了Source Compatibility,没有设置Target Compatibility,设置上后如下:


image.png

就解决了。

再做个总结,包括前两个:
1.compile 替换为 api
2.File -> Invalidate Caches -> Invalidate and Restart
3.设置java版本时,要Source Compatibility和Target Compatibility一起设置

上一篇下一篇

猜你喜欢

热点阅读