Declarar a la medida ‘limpio’ de la tarea cuando se utiliza el estándar de Gradle ciclo de vida de los plugins no está permitido

Voy a añadir una biblioteca a jCenter lo que tenía que añadir algunos plugins para mi proyecto a construir.gradle archivo. Sin embargo, estoy recibiendo el error

Declarar a la medida ‘limpio’ de la tarea cuando se utiliza el estándar de Gradle ciclo de vida de los plugins no está permitido.

Puedo ver el task clean bloque y cuando voy a borrar el error desaparece. Supongo que es todo lo que tengo que hacer, pero estaba haciendo algo importante antes? Si puedo quitar los plugins en algún momento y se olvide de agregar el clean bloque de nuevo, ¿qué consecuencias nefastas están en el almacén?

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'

        //NOTE: Do not place your application dependencies here; they belong
        //in the individual module build.gradle files
    }
}

plugins {
    id "com.jfrog.bintray" version "1.7.3"
    id "com.github.dcendents.android-maven" version "1.5"
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Este y este esto no responder satisfactoriamente a la pregunta.

InformationsquelleAutor Suragch | 2017-05-12

8 Kommentare

  1. 32

    Usted no debe tratar de reemplazar el valor predeterminado clean tarea, pero en lugar de configurar para eliminar cosas adicionales como

    clean {
        delete rootProject.buildDir
    }
    

    Pero verificar en primer lugar si este no es el comportamiento predeterminado de la limpia tarea de todos modos.

    Alternativamente, si usted quiere ser capaz de hacer específicos de limpieza de la acción individual, también puede definir una tarea independiente y agregar una dependencia como

    task customClean(type: Delete) {
        delete rootProject.buildDir
    }
    clean.dependsOn customClean
    
    • Tengo el mismo problema y no me trate de sustituir nada. Es en el Gradle secuencia de comandos generada por Android Studio.
    • No hacer que mi respuesta válida. Cambio de la secuencia de comandos generada a ser válido y se quejan COMO bug tracker.
    • que son bastante correctos. Gracias por la comprensión. Todavía necesidad de averiguar el origen de por qué out-of-the-box Android app añade el task clean...
  2. 6

    Eliminar esas líneas de código.

    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    
    • ¿Por qué es que allí en el primer lugar? Hace quitando que tiene efectos secundarios?
    • en mi caso no hubo ningún efecto negativo se produce
    • [email protected] No estoy recibiendo la lógica detrás de eso. porque cuando yo solía añadir kotlin, a continuación, agregar automáticamente en gradle archivo.Por favor, hágamelo saber
    • Porque Gradle soporta la descarga automática y la configuración de las dependencias.
  3. 3

    herramientas>kotlin>configurar en el proyecto que tienen para seleccionar Android Gradle no gradle

    Declarar a la medida 'limpio' de la tarea cuando se utiliza el estándar de Gradle ciclo de vida de los plugins no está permitido

    • Yo no lo entiendo. ¿Qué tiene esto que ver con la costumbre de limpiar la tarea?
    • estás recibiendo este error :Error:(24, 0) Declarar a la medida ‘limpio’ de la tarea cuando se utiliza el estándar de Gradle ciclo de vida de los plugins no está permitido.
    • Tengo el error anterior cuando puedo configurar kotlin en proyecto con Gradle y cuando he compilado con Android con Gradle yo no estaba recibiendo ese error
    • este tema para mí obtenidos para kotlin plugin
    • Yo no estaba usando Kotlin, pero tal vez su respuesta puede ayudar a alguien.
  4. 3

    En el código:

    allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    
    tasks.withType(JavaCompile) {
        sourceCompatibility = "1.8"
        targetCompatibility = "1.8"
    }
    
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    }
    

    reemplazar el task clean con task delete entonces:

    allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    
    tasks.withType(JavaCompile) {
        sourceCompatibility = "1.8"
        targetCompatibility = "1.8"
    }
    
    
    task delete(type: Delete) {
        delete rootProject.buildDir`
    }
    }
    
    • Hay alguna diferencia entre el task delete y task clean ?
  5. 2

    Tuve este mismo problema, por desgracia, me puse el task clean en el lugar equivocado. Yo tenía este:

    allprojects {
        repositories {
            google()
            jcenter()
            mavenCentral()
        }
    
        tasks.withType(JavaCompile) {
            sourceCompatibility = "1.8"
            targetCompatibility = "1.8"
        }
    
    
        task clean(type: Delete) {
            delete rootProject.buildDir
        }
    }
    

    Que necesita ser este:

    allprojects {
        repositories {
            google()
            jcenter()
            mavenCentral()
        }
    
        tasks.withType(JavaCompile) {
            sourceCompatibility = "1.8"
            targetCompatibility = "1.8"
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    
  6. 0
    enter code hereallprojects {
    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.google.com'
        }
    }
    

    }

    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    

    si ha añadido maven en su «build.gradle», a continuación, checkout todos los soportes. El código debe ser como el anterior. Se debe resolver el problema. Es posible que los brackets se colocan en diferentes lugares.

  7. 0

    Después de tantos investigación, he encontrado que hemos comentar la línea de limpiar tarea en bulid.gradle(Proyecto) como la siguiente :

    //   task clean(type: Delete) {
    //       delete rootProject.buildDir
    //   }][1][enter image description here][1]
    

    Ver la imagen por la sugerencia

    • Esto no responde a la pregunta, esto nos dice cómo (que OP resuelto, por lo tanto: «puedo ver a la tarea de limpiar el bloque y cuando voy a borrar el error desaparece»). Les estamos pidiendo a la «¿qué consecuencias nefastas están en el almacén?» si no se restaura a una fecha posterior.
  8. -1

    6m
    Bueno, me da un error en Gradle que no puede limpiar el archivo de proyecto raíz.

    :25 AM Gradle sync error: Declarar a la medida ‘limpio’ de la tarea cuando se utiliza el estándar de Gradle ciclo de vida de los plugins no está permitido.

    código de error
    info-ide.actionsShowFilePathAction Código de Salida 1

    Limpio Desencadenantes de la nom ejecutar limpieza dependsOn»npmInstall»

    En el Gradle doc 4.7
    El Proyecto en el directorio en el que la construcción se ejecuta también está configurado, pero sólo cuando Gradle se ejecuta sin ningún tipo de tareas. De esta manera las tareas predeterminada comportarse correctamente cuando los proyectos se configuran en la demanda.

    De configuración en la demanda de Gradle 4.6
    Android plugin de Gradle 3.01 o 3.1.0 con Gradle
    Gradle archivo de propiedades
    org.gradleconfigureondemand=false

    Así que lo que hice fue comentar la tarea de limpiar y ahora me sale una compilación que palabras,

    Creo que lo que pasó es que este script funciona si había construido y modificado el proyecto.
    Al descargar el proyecto en el que no se han incorporado por primera vez. Por lo tanto, no hay ninguna Raíz del Proyecto de la Ruta de acceso a limpio como nunca se ha construido todavía. Esto hace que falle.
    Comentando la primera vez no sale el error.

    Aquí está el código.
    //De nivel superior construir archivo donde usted puede agregar opciones de configuración comunes a todos los sub-proyectos/modules.

    ` buildscript {
    ext.kotlin_version = ‘1.2.41’

         ext.support_version = '26.1.0'
    
    repositories {
        google()
        jcenter()
    }
    
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
    }
    apply plugin: ‘kotlin’
    
    allprojects {
    repositories {
    google()
    jcenter()
    }
    }
    
    /*
    task clean(type: Delete) {
    delete rootProject.buildDir
    
    } */
    
    '
    

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea