gpt4 book ai didi

android - MultiDexTestRunner 的哪个包? android.support.multidex 或 com.android.test.runner

转载 作者:可可西里 更新时间:2023-11-01 19:06:56 25 4
gpt4 key购买 nike

页面http://developer.android.com/tools/building/multidex.html#testing建议

   dependencies {
compile 'com.android.support:multidex:1.0.1'
androidTestCompile 'com.android.support:multidex-instrumentation:1.0.1'
}
android {
defaultConfig {
multiDexEnabled true
testInstrumentationRunner "android.support.multidex.MultiDexTestRunner"
}
}

但这会在运行测试时产生 ClassNotFoundException。

API文档和dexdump显示有com.android.test.runner.MultiDexTestRunner。

所以如果我不相信文档而是指定

   dependencies {
compile 'com.android.support:multidex:1.0.1'
androidTestCompile 'com.android.support:multidex-instrumentation:1.0.1'
}
android {
defaultConfig {
multiDexEnabled true
testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner"
}
}

然后我得到

com/company/myapp/MyApp; had used a different Landroid/support/multidex/MultiDexApplication; during pre-verification 
...
IllegalAccessExceptionIllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation

我怀疑文档页面有误,正确的路径是 com.android.test.runner.MultiDexTestRunner ...另外还有一些其他问题。

注意 multidex 应用程序工作正常。不知何故,第二个 MultiDexApplication 包含在测试 apk 中。

问题:
哪个是 MultiDexTestRunner 的正确路径?为什么我在测试 apk 中得到第二个 MultiDexApplication?

最佳答案

更新:这是修复。这是一种常见的模式,当您看到这样的错误消息时 had used a different L<package>; during pre-verification ,您需要在运行测试时排除包。

build.gradle

android {
// ...
defaultConfig {
// ...
multiDexEnabled true
testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner"
}
}

dependencies {
// ...
// Need to exclude this when running test
androidTestCompile('com.android.support:multidex-instrumentation:1.0.1') {
exclude group: 'com.android.support', module: 'multidex'
}
}

Application.java

public class Application extends android.app.Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}

关于android - MultiDexTestRunner 的哪个包? android.support.multidex 或 com.android.test.runner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28056075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com