
這種原因目前我知道的有兩個:
1.方法數超過65K;
?解決辦法,當然是減少方法數,或者使用分包的方式了。一般情況下,不會超過65K,最大的可能是導入的包太大了,比如導入了google的service包,好好檢查下,看看是哪個包太大了,替換掉
2。如果不是方法超限,就是重包了。
重包的原因有很多,我把我知道的幾個原因列出來,方便查詢和對癥下藥:
1.我這次報錯是因為重包,當然并不是導入的包版本不一致導致的重包,而是我的library module ,在這個module里面有個類 與我的app module里面的類 包名和類名一樣的,因為我在重構我的項目,在轉移一些類的時候,忘記刪除原來位置的類了。
2.就是項目本身有依賴 Library Module,然而build.gradle文件中 compile 了一些第三方跟app Module中compile的版本不一致,導致的重包
最經典的就是:compile'com.android.support:appcompat-v7:24.1.0' ,V7包版本不一致的問題了。
3.今天幫一位網友解決類似的問題,他的問題是:在app Module中compile 了 V7包,而在Library Module中導入的卻是v4 包,報了錯,把v4 改成v7 ,問題解決!
特別注意:如果刪除多余的類和jar包后,如果還不行,可以刪除build文件,再clean一下