测试 apk multidexed 不会在 api-19 上运行



在我当前的项目中,我们的测试APK已经超过了64k方法限制。我们启用了multidex,所以在API> 19的设备上运行测试不会出现问题,但是在API 19上,运行器无法在第二个索引文件中找到类。

我已经尝试减少androidTestCompile的依赖,但最大的罪魁祸首是espresso,我需要。

对于运行在不支持多重索引的平台上的测试APK,是否存在索引限制?

在Android L之前,Dalvik运行时用于执行应用程序代码。要解决这个问题,您可以使用multidex支持库。

创建一个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"

希望能成功

相关内容

  • 没有找到相关文章

最新更新