由于带有actionbar sherlock的Robotium测试项目中的'java.lang.IllegalAccessError',检测运行失败

时间:2014-03-23 11:54:28

标签: java android actionbarsherlock robotium

我最近添加了actionbarsherlock作为我的robotium测试项目的依赖... 每次我尝试运行测试时,都会出现以下错误 测试运行失败:由于“java.lang.IllegalAccessError'

,仪表运行失败

任何帮助?!

1 个答案:

答案 0 :(得分:2)

我在仪器仪表中遇到了类似的问题,我得到了错误 预验证类中的类ref解析为意外实现

在挣扎之后,我可以解决问题。问题发生的原因是android-support-v4.jar。这个jar默认是在android项目的lib文件夹中创建的。添加到lib文件夹的jar文件在编译时使用,也用于检测项目的运行时。当我运行检测时,目标应用程序开始使用捆绑在检测项目中的android-support-v4.jar而不是自己的android-support-v4.jar。这会在运行时导致预先验证的类异常(因为版本会有所不同)。

为了解决这个问题,我将android-support-v4.jar移出lib文件夹并将其放在另一个文件夹(比如libforcompile)中并将其添加为外部Jar(项目属性 - > Java BUild Path - &gt ;库 - >单击Add External Jars)。

我的仪器项目编译得很好,当它运行时它使用了目标应用程序本身的android-support-v4.jar

没有更多错误..

我希望它有所帮助

此致 Indraneel