2014-04-04 63 views
1

我们遇到了一个运行我们的android仪器测试的奇怪问题。出于某种原因,似乎在库项目的JAR,我们使用,正在仪器测试包装过程中被重新混淆,造成我们,每当我们在这个罐子访问类得到以下错误运行Android仪器测试的IllegalAccessError

java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation 

我们结构看起来像这样

+library 
    -- libs/obfuscated.jar 
+app 
-- instrumentTest 
-- src/main/java/etc 
-- build.gradle 
     -- compile dependency to library (which contains obfuscated jar) 

我们使用gradle产出1.11,Android的gradle这个构建工具插件19.0.1和运行仪器测试时,这个问题只occurrs。混淆的应用程序工作正常。

有没有人看到类似于此之前的问题,或者有没有办法阻止仪器测试apk被混淆在一起?目前,我们针对我们的应用程序的模糊版本运行我们的检测测试,针对非混淆版本运行它们不是我们的选择。

回答

1

重命名测试src根从instrumentTestandroidTest解决了这个问题。从插件0.9.0开始,默认仪器测试源根是androidTest。看起来保留原来的名字,并配置插件使用原来的名称,导致这些问题。

相关问题