美文网首页
Error:The number of method refer

Error:The number of method refer

作者: 小阿拉 | 来源:发表于2017-09-08 11:46 被阅读0次

    当出现Error:The number of method references in a .dex file cannot exceed 64K. 错误的时候,我们很容易在网上查到解决方案。常见的就是在build.gradle的defaultConfig中添加 multiDexEnabled true,即:

    defaultConfig {
            applicationId "com.chinaums.commoncheck"
            minSdkVersion 17
            targetSdkVersion 25
            versionCode 2201
            versionName "2.2.0.1"
    
            multiDexEnabled true
        }
    

    那 multiDexEnabled true这句话是什么意思呢?

    我们知道,我们平常写代码,写的是.java文件。在Android虚拟机中(Dalvik或ART),.java文件是不能运行的,我们这些.java文件最终会编译成能在Android虚拟机上运行的.dex文件。一般小项目程序,最终会编译成一个的.dex文件,但是Android又有一个硬性要求,项目中的所有类的总方法数不能超过65536个。超过了,报错。

    那为什么有的人没手动写几个类,方法数不多,却报了错呢?

    这里大家要知道的是,总方法其实包括Android framwork method, lib method,还有你自己写的代码方法(code method)。如果你导入了太多包,很有可能总方法数超过65536个,就报错了。

    multiDexEnabled true就是告诉编译器,哎呀,那我就配置说默认分包吧,这样当方法数太多时,分多个包处理。

    网上还看到其他Error:The number of method references in a .dex file cannot exceed 64K. 的解决方法,但因为我自己没亲手试过,就不在这阐述了。发个链接,大家可以试试。
    http://www.cnblogs.com/zhaoyanjun/p/5390690.html
    http://blog.csdn.net/lvshuchangyin/article/details/51803154

    相关文章

      网友评论

          本文标题:Error:The number of method refer

          本文链接:https://www.haomeiwen.com/subject/ygegjxtx.html