相关文章推荐
文雅的洋葱  ·  android ...·  3 月前    · 
风流倜傥的山寨机  ·  Android ...·  3 月前    · 
拉风的勺子  ·  WebView - .NET MAUI | ...·  3 月前    · 
大力的红茶  ·  Android ...·  2 月前    · 
阳刚的大熊猫  ·  python importerror no ...·  1 年前    · 

当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...