起因
最近在整合自己的工具類庫,偶然發現之前寫的擴展方法使用遠程依賴卻是提示找不到
但我有個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'
}