Robolectric - 无法加载类:org.robolectric.shadows.ShadowMultiDex [英] Robolectric - Could not load class: org.robolectric.shadows.ShadowMultiDex
问题描述
我正在为一个使用多 dex 的项目配置 Robolectric.我正在使用 Robolectric 3.0 RC3,它应该支持 Multidex,而不会抛出Multi dex 安装失败"异常.
I am configuring Robolectric for a project that uses multi dex. I am using Robolectric 3.0 RC3 which should support Multidex without throwing that "Multi dex installation failed" exception.
testCompile('org.robolectric:robolectric:3.0-rc3')
我的示例测试在 src/test/java/SandwichTest:
My sample test is in src/test/java/SandwichTest:
@RunWith(RobolectricGradleTestRunner.class)
public class SandwichTest {
@Test
public void firstTest() { }
}
根据 Robolectric 上的说明,我有一个全局配置文件可以在 src/test/resources 中加载名为 robolectric.properties 的 ShadowMultiDex网站:
shadows=org.robolectric.shadows.ShadowMultiDex
当我运行示例 SandwichTest 时,出现此异常:
When I run my sample SandwichTest, I get this exception:
Could not load class: org.robolectric.shadows.ShadowMultiDex
java.lang.RuntimeException: Could not load class: org.robolectric.shadows.ShadowMultiDex
at org.robolectric.annotation.Config$Implementation.parseClass(Config.java:147)
看起来 Robolectric 正在查找我的配置文件,但无法加载 ShadowMultiDex 类.尝试手动将 shadow multi dex 模块添加到我的 gradle 文件中:
It looks like Robolectric is finding my configuration file but is unable to load the ShadowMultiDex class. Attempting to add the shadow multi dex module to my gradle file manually:
testCompile('org.robolectric:shadows-multidex:3.0-SNAPSHOT')
或
testCompile('org.robolectric:shadows-multidex')
在同步过程中导致无法解决"问题.
Causes "failed to resolve" issues during sync.
我缺少哪些步骤才能运行此示例测试?
What steps am I missing to get this sample test to run?
推荐答案
在您的问题中,我注意到您的 Gradle
依赖项缺少 version
.
In your question, I noticed you were missing a version
on your Gradle
dependency.
你有:
testCompile('org.robolectric:shadows-multidex')
您需要:
testCompile('org.robolectric:shadows-multidex:3.0')
实际发布: https://oss.sonatype.org/content/repositories/releases/org/robolectric/shadows-multidex/
您应该删除:
shadows=org.robolectric.shadows.ShadowMultiDex
来自您的 src/test/resources/robolectric.properties
文件.用于 custom
阴影.
from your src/test/resources/robolectric.properties
file. That is used for custom
Shadows.
这篇关于Robolectric - 无法加载类:org.robolectric.shadows.ShadowMultiDex的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!