APP中方法超過64K的解決辦法

2021-07-15 08:52:17 字數 966 閱讀 4769

conversion to dalvik format failed:

unable to execute dex: method

idnot

in [0, 0xffff]:

65536

trouble writing output:

too many field references: 131000; max is 65536.

you may try

using

--multi-dex option.

有上述提示錯誤或者類似的字樣時,你就很可能中招了。

65536是在乙個單獨的dex檔案中,可以呼叫的引用(可以理解為方法數)的最大數目。

這些引用包括:安卓framework 方法,library 方法和你自己定義的方法。

很顯然乙個dex可以允許65536的方法,使用多個不就結了嗎?下面講述一下mulitdex的配置方法。

android 

...}dependencies

protected

void

attachbasecontext(context base)

雖然有multidex解決方案,仍然有許多不近人意的地方,所以,我們應該盡可能的避免64k問題。

1.刪除沒有用的**&&相關類庫中的**

包含乙個大的類庫,僅僅使用一小部分的功能,尤其需要嚴格處理

2.使用proguard工具,精簡**

使用multidex打包時,需要對放入primary dex的class進行複雜計算,導致build時間顯著增加。通過下面的配置,可以在開發中加快build過程。

android 

prod

}...

}dependencies

Android出現方法超過64k的問題

手機直接debug本身沒有問題,但是打包的時候會出現unable to execute dex method id not in 0,0xffff 65536 這種問題導致打包失敗,這是單個dex檔案方法數超過64k導致的,基本上引入過多的依賴都會出現這個問題,解決方法 1.匯入依賴 com.and...

android方法數超過64K的解決方案

conversion to dalvik format failed unable to execute dex method id not in 0,0xffff 65536 複製 這就是android中方法數超過64k,即64 1024位數的限制。在android官方api中給出了這個問題的解決...

啟用多DEX處理64K方法數問題

谷歌dex處理64k方法數問題 引發原因 當您的應用及其引用的庫包含的方法數量超過 65536 時,您會遇到乙個構建錯誤,指明您的應用已達到 android 構建架構規定的引用限制 異常丟擲 trouble writing output too many field references 13100...