如果 App 引用的库太多,方法数超过 65536 后无法编译。这是因为单个 dex 里面不能有超过 65536 个方法。为什么有最大的限制呢, 因为 android 会把每一个类的方法 id 检索起来,存在一个链表结构里面。但是这个链表的长度是用一个 short 类型来保存的, short 占两个字节(保存 - 2 的 15 次方到 2 的 15 次方 - 1,即 - 32768~32767),最大保存的数量就是 65536。新版本的 Android 系统中修复了这个问题, 但是我们仍然需要对低版本的 Android 系统做兼容.