2015-08-25 31 views
9

gereği gereğinden fazla cihaz testi yapılmadı. Android Studio'da veya gradle clean connectedCheck kullanarak terminalden test çalıştırmayı denediğimde şu hatayı aldım: Test running failed: Instrumentation run failed due to 'java.lang.IncompatibleClassChangeError' Android 5.x aygıtlarda yeniden üretildi, ancak 4.x'de hata yok. Ancak Android Studio'da ayrı test paketini, paketi, sınıfı veya belirli bir testi çalıştırmaya çalışırsam, testler iyi gidiyor.Android: Sınama işlemi başarısız oldu: 'java.lang.IncompatibleClassChangeError'

Nedenini anlamıyorum. Ben terminali

build.gradle dosyasından testleri yürütmek gerekir:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 18 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "com.xxx.yyy" 
     minSdkVersion 9 
     targetSdkVersion 18 

     testApplicationId "com.xxx.zzz.tests" 
     testInstrumentationRunner "android.test.InstrumentationTestRunner" 
    } 

    packagingOptions { 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/NOTICE' 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
    sourceSets { 
     main { 
      jniLibs.srcDirs = ['libs'] 
     } 
    } 
} 

repositories { 
    mavenLocal() 

    jcenter() 
    mavenCentral() 
} 

android { 
    lintOptions { 
     abortOnError false 
    } 
} 

dependencies { 
    testCompile 'junit:junit:4.12' 

    compile fileTree(dir: 'libs', include: '*.jar') 
} 

herkes herhangi bir öneriniz var mı?

cevap

1

Hangi lib'leri dahil ettiğinize bağlıdır. Benim durumumda, ben espresso.contrib kütüphanesi dahil edildiğinde bu sorun vardı.

Böyle bir şey yapmayı deneyebilirsiniz. https://stackoverflow.com/a/29423456/5280584

İlgili konular