【发布时间】:2017-05-24 19:58:35
【问题描述】:
我正在尝试运行仪器测试用例,但在 dex 转换时出现以下错误 意外的顶级异常:
com.android.dex.DexException: Too many classes in --main-dex-list, main dex capacity exceeded
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:494)
at com.android.dx.command.dexer.Main.runMultiDex(Main.java:334)
at com.android.dx.command.dexer.Main.run(Main.java:244)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
:App:dexDebug FAILED
如何在 gradle 中解决这个问题?
【问题讨论】:
-
您可能正在使用 Google Play 服务。如果您使用的是 Android Studio,请尝试仅使用您需要的子组件(如广告、游戏等),而不是一次全部使用。这是一个已知问题,在不久的将来几乎不会修复。问题是 Dalvik 只支持 65535 (2^16 - 1) 个类。一旦所有设备都使用原生 ART,这将不再是问题。