問題:編譯失敗
Cannot fit requested classes in the main-dex file.
methods: 65610 > 65536
解決方向
- 減少方法數(治標)
- 解決主dex方法過多問題(治本)
解決方案:
這個問題一般出現在向項目中添加新庫,又需要在Application中初始化它。根據現象,編譯器會將Application中引用的類全都打到main-dex中。那麼不在Application中初始化對應的類,編譯器就會將對應的代碼放到分出去的包中。
彎路
上網查了一些方法始終沒用:
- 開啓multiDexEnabled:出問題的是main-dex,說明已經開啓這個參數了
- 升級gradle版本到3.1.4以上:無效
- 搜索的大部分結果是關於"Error:Cannot fit requested classes in a single dex file",搜索引擎會根據算法替換文本。將搜索語句放到雙引號中即可。