2014-04-04 108 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。看起來保留原來的名字,並配置插件使用原來的名稱,導致這些問題。

相關問題