Multidex 仅在 AndroidTest 中不起作用

Multidex not working only in AndroidTest

我有一个包含 MultiDex 的项目,它可以很好地编译应用程序...但是当我尝试 运行 仪器测试时,我收到此错误:

错误:任务“:app:transformDexArchiveWithDexMergerForMinApi16StagingDebugAndroidTest”执行失败。

com.android.build.api.transform.TransformException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

我正在使用

testInstrumentationRunner'com.android.test.runner.MultiDexTestRunner'

在我的 gradle 文件中。

如何使 multdex 工作?

万一有人在寻找这个问题的答案。当前无法在 API 19 和更低版本的 AGP 3.0.0 中使用 multidex,您可以在此处跟踪该问题:https://issuetracker.google.com/issues/37324038

KitKat 上的 Multidex 没有得到很好的支持。有一些支持库允许您 运行 您的 KitKat 上的多索引 Android 应用程序,但是当您的 androidTest APK 也是多索引时,这些库无法帮助您。我在 this blog post 中写了更多相关内容,这样我就可以记住将来如何为其他应用解决这个问题。

我不确定这是否正是您遇到的问题,但我希望它能以某种方式帮助您。

除此之外,似乎还有其他问题与您描述的问题类似。你试过了吗