Github发布开源代码后不能引用内部引用的问题

问题描述

我在jitpack上发布了一个小控件,这个控件用到了gif图,所以在这个库中引用了三方gif库,然后发布成功:

dependencies {
    ...
    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.16'
}

之后我在其它项目中引用这个控件的时候,虽然导入成功了,但使用的时候报错,找不到pl.droidsonroids.gif.GifImageView也就是说导入这个gif三方库失败了,之后我又找到了这个https://blog.csdn.net/qq_32770809/article/details/80512582,这里说到:

  • api是complie的替代品,api 与 complie 没有区别。
  • 最新官方推荐 implementation 用来代替 compile, implementation 会使AS编译速度更快
  • implementation声明的依赖包只限于模块内部使用,不允许其他模块使用。
    api声明的依赖包时, 模块依赖于此模块,此模块使用api声明的依赖包是可以被其他模块使用

所以我将引用方式改为了:

dependencies {
    ...
    api 'pl.droidsonroids.gif:android-gif-drawable:1.2.16'
}

但还是不成功,然后我就开始找问题,花费了我好几个小时,一筹莫展。之后我在github上看了下其他人的源码,有用compile方式引用的,我就想着试一下这样的方式,没想到成功了:

dependencies {
    ...
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.16'
}

说实话,我到现在也不知道什么原因导致的,也不知道是我的环境问题还是别的问题,希望有知道的同学能告知。

环境:AS :3.3.2 gradle:gradle-4.10.1-all.zip

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容