Android机器人NoClassDefFoundError
我只是想在Android JUnit测试中使用Robotium, 但测试总是失败,并出现错误: java.lang.NoClassDefFoundError:com.jayway.android.robotium.solo.solo 抛出solo=newsolo(getInstrumentation(),getActivity());在setUp()方法中: 我在某个地方读到,这可能与Android SDK版本17有关,但我无法证实这一点,因为我第一次尝试Robotium已经使用SDK 17 robotiumjar被正确地添加到项目构建路径中 有没有人遇到过类似的问题 问候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
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());
}