Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android机器人NoClassDefFoundError_Android_Testing_Junit_Robotium - Fatal编程技术网

Android机器人NoClassDefFoundError

Android机器人NoClassDefFoundError,android,testing,junit,robotium,Android,Testing,Junit,Robotium,我只是想在Android JUnit测试中使用Robotium, 但测试总是失败,并出现错误: java.lang.NoClassDefFoundError:com.jayway.android.robotium.solo.solo 抛出solo=newsolo(getInstrumentation(),getActivity());在setUp()方法中: 我在某个地方读到,这可能与Android SDK版本17有关,但我无法证实这一点,因为我第一次尝试Robotium已经使用SDK 17 r

我只是想在Android JUnit测试中使用Robotium, 但测试总是失败,并出现错误:

java.lang.NoClassDefFoundError:com.jayway.android.robotium.solo.solo

抛出solo=newsolo(getInstrumentation(),getActivity());在setUp()方法中:

我在某个地方读到,这可能与Android SDK版本17有关,但我无法证实这一点,因为我第一次尝试Robotium已经使用SDK 17

robotiumjar被正确地添加到项目构建路径中

有没有人遇到过类似的问题

问候
K.

我今天也有同样的问题。我通过将jar导入测试项目的libs目录,然后将其添加到构建路径库来解决这个问题:


TestProject属性->Java构建路径->库->添加JAR…->TestProject/libs/robotium-solo-3.1.jar

您需要通过进入属性->Java构建路径->订单和导出导出导出robotium jar。然后检查robotiumjar文件

在SDK 17上也有同样的问题。将robotiumjar添加到lib并导出有帮助。还必须将构造函数中不推荐使用的super调用从super(字符串,类)更改为super(类),以使其正常工作。

我所做的修复错误的工作是:

  • 从标准Java生成路径中删除库:
  • 右键单击项目名称>属性>Java构建路径>选项卡库>删除除“Android X.X”(在我的例子中是2.3.3)和“Android依赖项”之外的所有内容
  • 将库文件夹从“lib”重命名为“libs”
  • 这样,Android插件就可以找到文件夹“libs”中的所有库,并将它们添加到项目的“Android依赖项”项中
  • 清理项目(不完全需要)

你可以走了

我做这个配置是为了解决这个问题


注意:我把robotium放在第一位。

如果问题仍然存在,请重新启动eclipse。
即使在导入robotium.jar之后,我也遇到了同样的问题,但是在重新启动eclipse之后,它工作得很好。

libs目录解决了这个问题,谢谢!但是不应该将它们添加到构建路径中,因为libs中的所有内容都会自动添加到构建路径中。()嗨,Kim,我没有看到我的测试项目的任何库。。。我需要在哪里更改它呢?在尝试测试Jelly Bean应用程序时,我也遇到了这三个问题。确保不要使用不推荐使用的构造函数。这在这种情况下帮助了我!谢谢
protected void setUp() throws Exception {
    super.setUp();
    solo = new Solo(getInstrumentation(), getActivity());
}