将我的应用更新为gradle插件3.0.0后,我开始遇到multidex问题,但只有在我运行androidTest
时才会出现问题。
我的应用已经是multidex,并且使用gradle插件2.3.3 assembleDebug
和assembleDebugAndroidTest
工作正常。然后我刚刚将gradle插件更新到3.0.0,我开始收到以下异常:
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
我尝试了不同的选项,例如为测试定义自定义multidex运行器,添加androidTestCompile 'com.android.support:multidex-instrumentation:1.0.2'
依赖项,但没有任何帮助。我也没有在gradle插件3.0.0的发行说明中找到,如果有什么东西改变为Android测试。
是否有人对androidTest
有类似的问题?
答案 0 :(得分:4)
我认为这是一个众所周知的问题:https://issuetracker.google.com/issues/37324038
问题是Android Grast插件3.0.0 for androidTest APK中不支持传统multidex(min API< 21)。我能够通过使用min API> = 21制作产品风味来实现它:
productFlavors {
local {
minSdkVersion 21
}
ci {
minSdkVersion 17
}
}
然后使用connectedLocalDebugAndroidTest任务运行androidTests