只有被测APK时运行Robotium测试项目Logcat报错“Could not find class 'com.jayway.android.robotium.solo.Solo'"

来源:互联网 发布:棺材房 知乎 编辑:程序博客网 时间:2024/05/08 04:50

这个问题出现的原因是测试包在手机上运行时找不到Robotium库。也就是说Robotium库没有打包到测试apk里面来。

 

那么这个问题是怎么出现的呢?正常来说,按照网上的很多教程,我们是这样子把Robotium库加到我们项目中的:选择项目Properties>JavaBuild Path>Librares>Add External JARs,然后选择Roboitum库给加到项目来,结果如图:

 

但在Libraries里面添加了这个外部库只能说明我们在编译的时候用到了这个库,但真正打包的时候是否有把该库打包进去呢?答案是没有。请看下图”Orderand Export”中,Robotium库默认是没有被选中的。

 


那么怎么去解决这个问题呢?方法有2.

方法一:很明显,就是在“Orderand Export”中把Robotium的库给选上。

 

方法二

首先我们需要注意到在”Orderand Export”中,有个AndroidPrivate Libraries是默认选上,默认就会被导出的。


而我们在Libraries标签中展开”AndroidPrivate Libraries”是没有看到任何Robotium相关的内容的。

 


那么我们如何把Robotium库放到AndroidPrivate Libraries下面呢?其实AndroidPrivate Libraries默认是会与项目的libs文件夹关联起来的,加到libs文件夹下面的JAR包都会默认添加到AndroidPrivate Libraries中。

步骤一: 在测试项目中添加一个”libs”的文件夹(如果没有的话)

步骤二:把Robotium库的JAR包拷贝到该libs文件夹下



做完以上两步,Robotium库就会自动出现在”Android Private Libraries”下面了。

 


问题解决后再在手机上跑测试就不会出现标题所示错误了。


0 0
原创粉丝点击