More than one file was found with OS independent path 'xxx/xxx'
這個錯誤是在路徑中出現了重復依賴,
解決辦法是配置打包選項, 在 android 節點下配置
packagingOptions {
pickFirst 'lib/arm64-v8a/libgnustl_shared.so'
pickFirst 'lib/armeabi-v7a/libgnustl_shared.so'
}
可以配置三個選項
- pickFirst 使用第一個
- merge 合并
- exclude 排除
三種模式
有三種模式可供選擇,對應上面的三個選項
第一選擇
這個模式匹配到的路徑(或檔案)將會被選中并打包進 APK,如果匹配到了多個相同的路徑(或檔案)只會使用第一個,
合并
這個模式匹配到的路徑(或檔案)會被合并打包進 APK,當合并兩個檔案時,如果第一個檔案結尾沒有換行,會追加一個換行符到末尾,然后是后面的檔案,不管是什么檔案型別都是如此,
排除
這個模式匹配到的路徑(或檔案)將不會被打包進 APK,
這三種模式采用的演算法如下:
第一選擇模式
如果第一選擇模式匹配到的路徑(或檔案)沒有在 APK 中,那么這個路徑(或檔案)將會被打包進 APK ,
如果第一選擇模式匹配到的路徑(或檔案)已經在 APK 中,那么這個路徑(或檔案)將不會被打包進 APK ,
合并模式
如果合并模式匹配到的路徑(或檔案)沒有在 APK 中,那么這個路徑(或檔案)將會被打包進 APK ,
如果合并模式匹配到的路徑(或檔案)已經在 APK 中,那么將會合并路徑(或檔案)到已經存在 APK 中的那個路徑(或檔案),
排除模式
排除模式匹配到的路徑(或檔案)將不會被打包進 APK 中,
如果以上模式都沒有匹配到的路徑(或檔案)并且這個路徑(或檔案)沒有在 APK 中,那么將會被打包進 APK ,
如果以上模式都沒有匹配到的路徑(或檔案)并且這個路徑(或檔案)已經在 APK 中,那么將會構建失敗并且發出 重復路徑(或檔案)的錯誤,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/53690.html
標籤:Android
上一篇:Android高斯模糊實作方案
下一篇:Gradle 自定義插件
