2015-03-31 95 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 
相关问题