因為上線了一個功能,引入了dexposed,導致打包打不過去,報的錯誤是so重復或者代碼重復(如果只是so重復,可以pickFirst解決)。通過打依賴樹、排查,最后發現跟項目中用的一個調試工具相關。間接引入了epic,而它把dexposed的源碼、so直接拷貝過來!如果不是我之前看過epic的源碼,估計排查仍然遙遙無期。
命令行:
gradlew :app:depencencies > dependencies.txt
結論:
有些開源庫很坑,把別的開源庫的源碼,原封不動的拷貝過來,很坑!以后再遇到這種情況,依賴樹直接看不出來的話,可以從這個角度入手排查問題了。