繁体   English   中英

更新到android gradle插件2.3后,多模块MultiDex项目不会运行测试

[英]Multi-module MultiDex project won't run tests after update to android gradle plugin 2.3

我有多个模块的项目,所有模块都配置为使用multiDexEnabled true构建。 所有这些模块都有仪表测试包,配置为根据这个SO答案运行启用MultiDex的JUnit4测试: httpsMultiDex除了其中一个模块。 其中一个模块配置为使用testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner" (因此没有JUnit4测试),因为它依赖于一个不会加载 JUnit4测试运行器的DLL。 (如果有人知道那个解决方案,那太好了!但这不是我在这里报道的问题......)

这个配置一直很好,直到我试图更新到android gradle插件2.3.0 现在,当我使用JUnit3 MultiDexTestRunner运行模块测试时,我看到:

Started running tests
Test running failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'
Empty test suite.

并在控制台中(截断到有用位):

java.lang.RuntimeException: Unable to instantiate instrumentation ComponentInfo{com.redacted.test/com.android.test.runner.MultiDexTestRunner}: java.lang.ClassNotFoundException: Didn't find class "com.android.test.runner.MultiDexTestRunner" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.redacted.test-1/base.apk", zip file "/data/app/com.redacted.test-1/base.apk"],nativeLibraryDirectories=[/data/app/com.redacted.test-1/lib/arm, /data/app/com.redacted.test-1/lib/arm, /data/app/com.redacted.test-1/base.apk!/lib/armeabi-v7a, /data/app/com.redacted.test-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
...
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.test.runner.MultiDexTestRunner" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.intuit.paymentshub.test-1/base.apk", zip file "/data/app/com.intuit.paymentshub.test-1/base.apk"],nativeLibraryDirectories=[/data/app/com.intuit.paymentshub.test-1/lib/arm, /data/app/com.intuit.paymentshub.test-1/lib/arm, /data/app/com.intuit.paymentshub.test-1/base.apk!/lib/armeabi-v7a, /data/app/com.intuit.paymentshub.test-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]

所以我坚持使用早期的Android Gradle插件,直到我可以解决这个问题(或者DLL问题,尽管我对这个问题的希望不大,因为它从未起作用。)

更新工具后似乎这个问题就消失了。 目前用buildTools 26运行android for gradle 2.3.3并且这个问题消失了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM