搜索
热搜: 活动 交友 discuz
查看: 3333|回复: 0
打印 上一主题 下一主题

Android方法数methods超过65536

[复制链接]

160

主题

165

帖子

814

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
814
跳转到指定楼层
楼主
发表于 2018-6-15 16:01:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当Android App中的方法数超过65535时,如果往下兼容到低版本设备时,就会报编译错误:
  1. Cannot fit requested classes in a single dex file. Try supplying a main-dex list.  
  2. # methods: 86204 > 65536  
  3. Message{kind=ERROR, text=Cannot fit requested classes in a single dex file. Try supplying a main-dex list.  
  4. # methods: 86204 > 65536, sources=[Unknown source file], tool name=Optional.of(D8)}  
复制代码
原因是Android系统定义总方法数是一个short int,short int 最大值为65536。解决这个问题的方案是:

在Android的模块gradle文件的defaultConfig默认配置里面增加:

  1. multiDexEnabled true  
复制代码
同时在dependencies里面增加:
  1. implementation 'com.android.support:multidex:1.0.3'  
复制代码
另外需要把AndroidMainfest.xml里面添加自定义的App继承自MultiDexApplication。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|安卓论坛  

GMT+8, 2024-5-5 15:44 , Processed in 0.051750 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Design S!|ƽ̶

快速回复 返回顶部 返回列表