当Android App中的方法数超过65535时,如果往下兼容到低版本设备时,就会报编译错误:
Cannot fit requested classes in a single dex file. Try supplying a main-dex list.
# methods: 86204 > 65536
Message{kind=ERROR, text=Cannot fit requested classes in a single dex file. Try supplying a main-dex list.
# methods: 86204 > 65536, sources=[Unknown source file], tool name=Optional.of(D8)}
原因是Android系统定义总方法数是一个short int,short int 最大值为65536。解决这个问题的方案是:
在Android的模块gradle文件的defaultConfig默认配置里面
增加:
multiDexEnabled true
同时在dependencies里面增加:
implementation 'com.android.support:multidex:1.0.3'
另外需要把AndroidMainfest.xml里面添加自定义的App继承自MultiDexApplication。
公司项目在打包时遇到了传说中的
65536
问题,如以下提示:Conversion to Dalvik format failed:
Unable to execute dex: method ID not in [0, 0xffff]:
65536
在
Android
中,一个Dex中存储
方法
id用的是short类型
数
据,所以我们的
方法
总
数
不能
超过
64K解决
方法
:第一步:修改主module中的build.g
Error: null, Cannot fit requested classes in a single dex file (#
methods
: 68368 >
65536
)
项目有点大,
超过
65k个
方法
。一个dex装不下,需要个多个dex(multidex ),
Android
系统定义总
方法
数
short int 最大值为
65536
。
在 app 的 build.gra...
当
方法
数
超过
65536
的时候,会报如下的错误。
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve th...
在
Android
项目开发中,尤其是开发类似淘宝,京东,微信,直播等大型项目中,由于产品的迭代,业务模块的快速增长,到了一定的规模后难免会遇到
65536
/64K
方法
数
的问题。它是个什么鬼?这个问题,网上还有其他人说65
方法
数
问题,本质上都市指
Android
Dalvik可执行文件.dex中的Java
方法
数
引用
超过
65536
,64K的计算
方法
是
65536
/1024,65K的计算
方法
是
65536
/1000
在
Android
开发中(
Android
studio开发,eclipse我们就别玩啦),我们一定会遇到项目越写越大,
方法
数
超过
65536
的情况。
如果你还在删这删那,以减少
方法
数
的
方法
来做,那你永远都不会进步。
项目只会越写越大,
方法
数
越来越大,不会越写越小的,所以啊,人要往前看。话不多说,三步解锁新技能,继续往下看
第一步:在项目的app目录下的grade文件里面的defaultConf
有时用户集成完 TuSDK 之后会报如下形式的错误:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: method ID not in [0, 0xffff]:
65536
trouble writing output:
Too many field referenc
**
Android
编译出现com.
android
.dex.DexIndexOverflowException: method ID not in [0, 0xffff]:
65536
错误解决办法**今天在编译项目时出现了这个错误,在我用真机进行运行的时候没有这个错误,程序也可以跑起来,当我用模拟器,运存1G的运行时,突然就出现了这个错误,搞得我一脸懵逼。然后也查阅了相关博客和网站。终于将这个问题解决
错误日志Error:Execution failed for task ':app:transformClassesWithDexForDebug'.com.
android
.build.api.transform.TransformException: com.
android
.ide.common.process.ProcessException:java.util.concurrent.Exec...