起因
最近在整合自己的工具类库,偶然发现之前写的扩展方法使用远程依赖却是提示找不到
但我有个aar库却是正常的,于是看了下这两者的区别,发现是 build.gradle
多了下面这个导致的问题
packagingOptions{
exclude 'META-INF/*'
}
因为之前引用的java的某些库会带有证书文件会出现编译报错,所以才需要加上面的配置,但是这个似乎会影响到kotlin的扩展方法
如下面这个aar截图(正常情况下):
但是如果你加上了上面 packagingOptions
的话,上面的那个文件就会丢失,就导致了kotlin的扩展方法找不到了
解决
解决方法就是去除掉packagingOptions或者使用下面这个配置,编译只过滤某些文件(而不是所有文件都过滤)
packagingOptions {
exclude 'META-INF/*.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/INDEX.LIST'
}
评论区