在我目前的项目中,我们的测试APK已超过64k方法限制。 我们启用了multidex,因此在使用API>的设备上运行测试19,没有问题,但在API 19上,跑步者无法在第二个dex文件中找到类。
我曾尝试减少androidTestCompile依赖项,但最大的罪魁祸首是espresso,我需要它。
对于在本机上不支持multidex的平台上运行的测试APK,有没有解决dex限制的工作?
答案 0 :(得分:1)
在Android L之前,Dalvik运行时用于执行应用程序代码。要解决此问题,您可以使用multidex support library。
答案 1 :(得分:1)
创建一个Java
课程,该课程将是您的自定义testInstrumentationRunner
。
将此代码放入其中:
public class MultiDexAndroidJUnitRunner extends AndroidJUnitRunner {
@Override
public void onCreate(Bundle arguments) {
//To make it work on MultiDex environment.
//https://plus.google.com/+OleksandrKucherenko/posts/i7qZdVEy3Ue
MultiDex.install(getTargetContext());
super.onCreate(arguments);
}
}
打开您的应用build.gradle
替换现有行:
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
与您的自定义类:
testInstrumentationRunner "com.mypackagename.test.MultiDexAndroidJUnitRunner"
希望它能运作