【问题标题】:Android Gradle - task overwrite is not workingAndroid Gradle - 任务覆盖不起作用
【发布时间】:2016-09-22 03:06:55
【问题描述】:

我真的很困惑为什么这个覆盖不起作用。

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

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

我的 build.gradle 有什么问题吗,它是由 Robotium Recorder 生成的。

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

apply plugin: 'com.android.application'
repositories {
	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

【问题讨论】:

    标签: android gradle task robotium-recorder


    【解决方案1】:

    此问题已在 2.5.0 版中修复。请通过 Android Studio 更新 Robotium Recorder。

    【讨论】:

      【解决方案2】:

      尝试将以下内容置于脚本顶部,看看是否可行...

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

      【讨论】:

      • 试过了,但失败了。抛出另一个错误:错误:(16、0)找不到方法 androidTestCompile() 用于 org.gradle.api.internal 类型的对象上的参数 [com.jayway.android.robotium:robotium-solo:5.6.1]。 artifacts.dsl.dependencies.DefaultDependencyHandler.
      猜你喜欢
      • 2020-11-21
      • 2016-11-08
      • 2013-07-10
      • 2021-03-18
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 2019-12-13
      • 2013-12-30
      相关资源
      最近更新 更多