问题描述
我在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