Try supplying a main-dex list. # methods: 66657 >66657 > 65536
阿新 • • 發佈:2019-01-09
Cannot fit requested classes in a single dex file. Try supplying a main-dex list. # methods: 66657 > 65536
不能將請求的類裝入單個dex檔案中。試著提供一份主抄本清單。
#方法:66657 > 65536。
這個報錯是因為你的專案裡單個dex檔案的函式超過了65536個,隨著應用功能越來越複雜,程式碼量不斷地增大,引入的庫也越來越多,可能會報這個異常
Cannot fit requested classes in a single dex file. Try supplying a main-dex list. # methods: 66657 > 65536
這說明應用中引用的方法數超過了最大數65536個。產生這一問題的原因就是系統的65536限制,65536限制的主要原因是DVM Bytecode的限制,DVM指令集的方法呼叫指令invoke-kind索引為16bits,最多能引用 65535個方法。
可以嘗試著用一下方法解決這個問題
在你的app.gradle下寫如下方法
defaultConfig {
multiDexEnabled true
}
buildTypes { debug{ lintOptions { checkReleaseBuilds false abortOnError false } } release { lintOptions { checkReleaseBuilds false abortOnError false } } }
implementation 'com.android.support:multidex:1.0.3'
#方法:66657 > 65536。
匯入上面的依賴
把你原來的繼承的Application類,換成MultiDexApplication
這樣應該就可以解決這個問題了,這種解決方式,我是在國外網站的一篇帖子上看到的,在此記錄一下