2015-03-31 63 views
0

我正在將Android項目loopback-sdk-android從Android Gradle Build Tools 0.9升級到1.1。就IDE而言,遷移工作進展順利,我可以編譯項目並在仿真器上運行設備測試。如何防止Android gradle build作爲單元測試運行設備測試

但是,命令行構建已損壞。當我運行./gradlew build(或./gradlew test)時,構建工具不正確地從src/androidTest/java獲取文件作爲單元測試文件,並且構建失敗,出現一堆NoClassDefFoundError錯誤。

com.strongloop.android.loopback.test.AsyncTestCase > initializationError FAILED 
    java.lang.NoClassDefFoundError 
     Caused by: java.lang.ClassNotFoundException 

./gradlew connectedAndroidTest工作正常並運行從src/androidTest/java測試上的仿真器。

如何配置gradle構建,使其不會像純粹的單元測試那樣運行設備測試?

回答

0

解決方案:升級構建文件後刪除舊的構建文物。

./gradlew clean 

對於後人,這裏是一個簡短的片段,向我證實構建正確拿起源文件:

android { 
    sourceSets { 
     logger.info("androidTest java srcdirs"); 
     androidTest.java.srcDirs.each { d -> logger.info("\t" + d) } 

     logger.info("test java srcdirs"); 
     test.java.srcDirs.each { d -> logger.info("\t" + d) } 
    } 
} 

./gradlew --info test產生下列結果:

androidTest java srcdirs 
    ~/src/loopback/android/src/androidTest/java 
test java srcdirs 
    ~/src/loopback/android/src/test/java 
相關問題