Robolectric - 无法加载 class:org.robolectric.shadows.ShadowMultiDex
Robolectric - Could not load class: org.robolectric.shadows.ShadowMultiDex
我正在为使用多 dex 的项目配置 Robolectric。我正在使用 Robolectric 3.0 RC3,它应该支持 Multidex 而不会抛出 "Multi dex installation failed" 异常。
testCompile('org.robolectric:robolectric:3.0-rc3')
我的样本测试在src/test/java/SandwichTest:
@RunWith(RobolectricGradleTestRunner.class)
public class SandwichTest {
@Test
public void firstTest() { }
}
根据 Robolectric site:
上的说明,我有一个全局配置文件可以在 src/test/resources 中加载名为 robolectric.properties 的 ShadowMultiDex
shadows=org.robolectric.shadows.ShadowMultiDex
当我 运行 我的示例 SandwichTest 时,我得到这个异常:
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 class。尝试手动将 shadow multi dex 模块添加到我的 gradle 文件中:
testCompile('org.robolectric:shadows-multidex:3.0-SNAPSHOT')
或
testCompile('org.robolectric:shadows-multidex')
在同步期间导致 "failed to resolve" 问题。
我缺少哪些步骤才能使此示例测试达到 运行?
在你的问题中,我注意到你在 Gradle
依赖项上遗漏了一个 version
。
您有:
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
阴影。
我正在为使用多 dex 的项目配置 Robolectric。我正在使用 Robolectric 3.0 RC3,它应该支持 Multidex 而不会抛出 "Multi dex installation failed" 异常。
testCompile('org.robolectric:robolectric:3.0-rc3')
我的样本测试在src/test/java/SandwichTest:
@RunWith(RobolectricGradleTestRunner.class)
public class SandwichTest {
@Test
public void firstTest() { }
}
根据 Robolectric site:
上的说明,我有一个全局配置文件可以在 src/test/resources 中加载名为 robolectric.properties 的 ShadowMultiDexshadows=org.robolectric.shadows.ShadowMultiDex
当我 运行 我的示例 SandwichTest 时,我得到这个异常:
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 class。尝试手动将 shadow multi dex 模块添加到我的 gradle 文件中:
testCompile('org.robolectric:shadows-multidex:3.0-SNAPSHOT')
或
testCompile('org.robolectric:shadows-multidex')
在同步期间导致 "failed to resolve" 问题。
我缺少哪些步骤才能使此示例测试达到 运行?
在你的问题中,我注意到你在 Gradle
依赖项上遗漏了一个 version
。
您有:
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
阴影。