首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载类: org.robolectric.shadows.ShadowMultiDex

无法加载类: org.robolectric.shadows.ShadowMultiDex
EN

Stack Overflow用户
提问于 2015-07-20 20:35:02
回答 1查看 2.2K关注 0票数 4

我正在为一个使用多个dex的项目配置Robolectric。我正在使用Robolector3.0 RC3,它应该支持Multidex,而不是抛出“Multidex安装失败”的异常。

代码语言:javascript
复制
testCompile('org.robolectric:robolectric:3.0-rc3')

我的示例测试在src/ test /java/SandwichTest中:

代码语言:javascript
复制
@RunWith(RobolectricGradleTestRunner.class)
public class SandwichTest {
  @Test
  public void firstTest() { }
}

我有一个全局配置文件要在src/test/ ShadowMultiDex资源中按照罗波利克遗址上的指令加载robolectric.properties

代码语言:javascript
复制
shadows=org.robolectric.shadows.ShadowMultiDex

当我运行我的示例SandwichTest时,我得到了这个异常:

代码语言:javascript
复制
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类。尝试手动将阴影多个dex模块添加到我的gradle文件中:

代码语言:javascript
复制
 testCompile('org.robolectric:shadows-multidex:3.0-SNAPSHOT')

代码语言:javascript
复制
 testCompile('org.robolectric:shadows-multidex')

导致同步期间“未能解决”问题。

要运行这个样本测试,我缺少哪些步骤?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-22 20:19:48

在您的问题中,我注意到您在Gradle依赖项上缺少了一个Gradle

你拥有的

代码语言:javascript
复制
testCompile('org.robolectric:shadows-multidex')

你需要的

代码语言:javascript
复制
testCompile('org.robolectric:shadows-multidex:3.0')

实际发布: https://oss.sonatype.org/content/repositories/releases/org/robolectric/shadows-multidex/

您应该删除:

代码语言:javascript
复制
shadows=org.robolectric.shadows.ShadowMultiDex

从您的src/test/resources/robolectric.properties文件。用于custom阴影。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31525853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档