xxx一般是一個整數(shù)毁欣,比如66345等庇谆,從這個提示看,和Dex方法超過64K的限制一樣凭疮,應(yīng)該是同一個問題饭耳。不過App已經(jīng)解決了這個64K方法的問題,怎么還會提示呢执解。
從提上看寞肖,是一個non-jumbo,讓我想到了Dex的jumbo模式衰腌,這是一個用來配置制定該Dex是不是一個巨大的Dex的新蟆。報錯的日志里顯示是一個模塊,從這可以推斷出基本的問題:該模塊需要生成一個Dex放進AAR包里給App使用右蕊,現(xiàn)在這個Dex生成不了啦琼稻,提示太大,這個是根本原因饶囚,所以只要解決了這個就可以了帕翻。
那么以前為什么不會出現(xiàn)這個問題呢,我們從git提交的歷史來看萝风,發(fā)現(xiàn)昨天的需求新增了一個第三方包嘀掸,導(dǎo)致該模塊的方法變多,超過了限制规惰,所以今天就有了這個錯誤的提示睬塌。。
既然知道了原因歇万,那么就很好解決了衫仑。
使用Gradle構(gòu)建的,在模塊的build.gradle里配置:
android {
dexOptions {
jumboMode true
}
}
如果是使用Eclipse+Ant構(gòu)建的堕花,在project.properties文件中增加如下配置:
dex.force.jumbo=true
就可以解決如上問題了。粥鞋。
關(guān)于超過64K方法分Dex的解決辦法可以參考官方的Configure Apps with Over 64K Methods這篇文章缘挽。