Android Gradle插件默认情况下不会自动将测试apk进行multidex处理。如果你在测试apk中使用了多个dex文件,你需要手动配置测试apk的multidex处理。
要解决"NoSuchMethodError"错误,可以按照以下步骤进行操作:
android {
defaultConfig {
...
multiDexEnabled true
}
...
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
public class MyApplication extends MultiDexApplication {
// ...
}
或者:
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
// ...
}
public class TestApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
// ...
}
@RunWith(AndroidJUnit4.class)
@LargeTest
public class ExampleInstrumentedTest {
@Rule
public ActivityTestRule mActivityRule = new ActivityTestRule<>(MainActivity.class);
@Before
public void setUp() {
// ...
}
@Test
public void exampleTest() {
// ...
}
}
通过按照以上步骤进行操作,你应该能够成功解决"NoSuchMethodError"错误,并且将测试apk进行multidex处理。