2016-09-22 147 views
0

我真的很困惑,为什么这个覆盖不起作用。Android Gradle - 任务覆盖不起作用

我通过robotium记录做了一个项目。当我同步这个项目时,android studio告诉我一个错误日志如下。

Gradle 'EpayAppTest' project refresh failed Error:Cannot add task ':EpayAppTest:assembleDebug' as a task with that name already exists.

有什么毛病我的build.gradle,whitch由Robotium记录生成。

buildscript { 
 
    repositories { 
 
     mavenCentral() 
 
     flatDir { 
 
      dirs 'libs' 
 
     } 
 
    } 
 
    dependencies { 
 
     classpath 'com.android.tools.build:gradle:2.1.3' 
 
    } 
 
} 
 

 
apply plugin: 'com.android.application' 
 
repositories { 
 
\t mavenCentral() 
 
    flatDir { 
 
     dirs 'libs' 
 
    } 
 
} 
 

 
dependencies { 
 
    androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.6.1' 
 
    testCompile 'junit:junit:4.12' 
 
} 
 

 
android { 
 
    compileSdkVersion 23 
 
    buildToolsVersion '23.0.2' 
 

 
    android { 
 
     defaultConfig { 
 
      minSdkVersion 14 
 
     } 
 

 
     lintOptions { 
 
      abortOnError false 
 
     } 
 
     sourceSets 
 
       { 
 
        androidTest 
 
          { 
 
           res.srcDirs = ['res'] 
 
           assets.srcDirs = ['assets'] 
 
          } 
 
       } 
 
    } 
 
    buildTypes { 
 
     release { 
 
      proguardFile getDefaultProguardFile('proguard-android.txt') 
 
     } 
 
    } 
 
} 
 

 
task assembleDebug(overwrite: true) {} 
 

 
task copyTask(type: Copy) { 
 
    from 'E:/work/app-qa-debug-withTest_debug.apk' 
 
    into 'build/outputs/apk/' 
 
    rename { 
 
     'EpayAppTest-debug.apk' 
 
    } 
 
} 
 

 
assembleDebug.dependsOn copyTask

回答

0

尝试使下列到脚本的顶部,看看是否能工程...

dependencies { 
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.6.1' 
testCompile 'junit:junit:4.12' 
} 
+0

尝试过,但失败。抛出另一个错误:错误:(16,0)无法找到org.gradle.api.internal类型的对象上的参数[com.jayway.android.robotium:robotium-solo:5.6.1]的方法androidTestCompile()。 artifacts.dsl.dependencies.DefaultDependencyHandler。 – Alia

1

此问题已被固定在2.5.0版本。请通过Android Studio更新Robotium Recorder。