只有被测APK时运行Robotium测试项目Logcat报错“Could not find class 'com.jayway.android.robotium.solo.Solo'"
2014-08-26 12:18
579 查看
这个问题出现的原因是测试包在手机上运行时找不到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”下面了。
问题解决后再在手机上跑测试就不会出现标题所示错误了。
那么这个问题是怎么出现的呢?正常来说,按照网上的很多教程,我们是这样子把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”下面了。
问题解决后再在手机上跑测试就不会出现标题所示错误了。
相关文章推荐
- 只有被测APK时运行Robotium测试项目Logcat报错“Could not find class 'com.jayway.android.robotium.solo.Solo'"
- 只有被测APK时运行Robotium测试项目Logcat报错“Could not find class 'com.jayway.android.robotium.solo.Solo'"
- 关于android编程中遇到的Could not find class 'com.swetake.util.Qrcode错误的原因及解决办法
- android "Could not find class 'org.apache.http.entity.mime.content.FileBody" error
- 关于android编程中遇到的Could not find class 'com.swetake.util.Qrcode错误的原因及解决办法
- Could not find class 'com.pinggupad.Tansuo', referenced from method com.ping和java java.lang.NoClassD
- 解决 “Could not find class 'com.goole.zxing.Result”和“Multiple dex files define”问题
- Could not find property 'zipAlignEnabled' on com.android.build.gradle.internal.api.ApplicationVarian
- Android访问Web Service,遇到Could not find class 'org.ksoap2.serialization.SoapObject' 错误提示。
- 运行maven项目出现:Error: Could not find or load main class com.xxx.xxxx
- Could not find class 'android.support.v4.app.NotificationCompat$BigTextStyle', referenced from metho
- Could not find class 'com.umeng.analytics.d' 解决的方案分享
- Could not find class 'com.pinggupad.Tansuo', referenced from method com.ping和java java.lang.NoClassD
- Could not find class 'android.support.v4.view.ViewPager', referenced from method***
- Could not find class 'android.support.v4.view.ViewPager', referenced from method***
- 运行android程序,Could not find *.apk的解决办法
- Eclipse 运行项目抛UnsupportedClassVersionError弹出yunCould not find the main class.program will exit
- Qt release之后运行显示it could not find or load the Qt platform plugin "windows".解决方法
- 【异常】Could not find class 'javax.activation.DataHandler'
- 如何解决 X-code5.0中的iOS7.0SDK运行程序时,出现的以下问题:“Could not find a storyboard named 'Main' in bundle NSBundle”