Robolectric - 无法加载类:org.robolectric.shadows.ShadowMultiDex [英] Robolectric - Could not load class: org.robolectric.shadows.ShadowMultiDex

查看:60
本文介绍了Robolectric - 无法加载类: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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆