Android 如何使现代Multidex与旧API上的仪器化测试一起工作

Android 如何使现代Multidex与旧API上的仪器化测试一起工作,android,android-multidex,android-instrumentation,Android,Android Multidex,Android Instrumentation,我用Multidex设置了一个应用程序,似乎可以加载和使用较旧的Android API。但是,我有时会从插入指令的测试运行程序中得到错误,因为它找不到任何测试。我可以找到有关如何将multidex添加到Android应用程序的详细信息,但有几种解决方案取决于所使用的支持库,而且似乎没有一种解决方案能够直接使用当前推荐的AndroidX库解决使用multidex运行测试的问题。在Android API级别19上,我当前遇到以下错误: $ ./gradlew connectedCheck >

我用Multidex设置了一个应用程序,似乎可以加载和使用较旧的Android API。但是,我有时会从插入指令的测试运行程序中得到错误,因为它找不到任何测试。我可以找到有关如何将multidex添加到Android应用程序的详细信息,但有几种解决方案取决于所使用的支持库,而且似乎没有一种解决方案能够直接使用当前推荐的AndroidX库解决使用multidex运行测试的问题。在Android API级别19上,我当前遇到以下错误:

$ ./gradlew connectedCheck
> Task :app:connectedDebugAndroidTest
Starting 0 tests on API-19(AVD) - 4.4.2

com.android.build.gradle.internal.testing.ConnectedDevice > No tests found.[API-19(AVD) - 4.4.2] FAILED 
No tests found. This usually means that your test classes are not in the form that your test runner
expects (e.g. don't inherit from TestCase or lack @Test annotations).
在API级别为21的仿真器上运行此命令可成功运行所有测试。我没有启用Proguard或minify。为了启用Multidex,我做了以下更改。我在应用程序的build.gradle中添加了以下内容:

android {
    defaultConfig {
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
}

dependencies {
    implementation "androidx.multidex:multidex:2.0.1"
    androidTestImplementation 'org.mockito:mockito-core:3.4.6'
    androidTestImplementation 'com.linkedin.dexmaker:dexmaker:2.28.0'
    androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:2.28.0'
}
我的清单定义了一个从android:name属性中的
androidx.multidex.MultiDexApplication
继承的类

我看到有人提到为测试应用程序向AndroidManifest.xml添加一个multidex测试运行程序,但我目前没有明确的清单,而且它似乎只在旧Android支持库的上下文中,而不是AndroidX。我需要做什么才能让插装测试在API级别16-19上使用Multidex和AndroidX