it-swarm-id.com

Mendeklarasikan tugas 'bersih' khusus saat menggunakan plugin siklus hidup Gradle standar tidak diperbolehkan

Saya menambahkan perpustakaan ke jCenter sehingga untuk itu saya perlu menambahkan beberapa plugin ke file build.gradle proyek saya. Namun, saya mendapatkan kesalahan

Mendeklarasikan tugas 'bersih' khusus saat menggunakan plugin siklus hidup Gradle standar tidak diperbolehkan.

Saya dapat melihat blok task clean dan ketika saya menghapusnya kesalahannya hilang. Saya berasumsi bahwa hanya itu yang perlu saya lakukan, tetapi apakah itu melakukan sesuatu yang penting sebelumnya? Jika saya menghapus plugin kapan-kapan dan lupa menambahkan blok clean kembali, apa konsekuensi mengerikan yang ada di toko?

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
}

Ini dan ini ini tidak memuaskan menjawab pertanyaan.

30
Suragch

Anda tidak boleh mencoba untuk menimpa tugas clean default, tetapi mengkonfigurasinya untuk menghapus hal-hal tambahan seperti

clean {
    delete rootProject.buildDir
}

Tapi periksa dulu apakah ini bukan perilaku default dari tugas bersih.

Atau jika Anda ingin dapat melakukan tindakan bersih tertentu secara individual, Anda juga dapat menetapkan tugas terpisah dan menambahkan ketergantungan seperti

task customClean(type: Delete) {
    delete rootProject.buildDir
}
clean.dependsOn customClean
30
Vampire

Hapus baris ini dari kode Anda.

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

Dalam kode yang diberikan:

allprojects {
repositories {
    google()
    jcenter()
    mavenCentral()
}

tasks.withType(JavaCompile) {
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
}


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

ganti task clean dengan task delete maka akan berfungsi:

allprojects {
repositories {
    google()
    jcenter()
    mavenCentral()
}

tasks.withType(JavaCompile) {
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
}


task delete(type: Delete) {
    delete rootProject.buildDir`
}
}
3
Laksh

tools> kotlin> configure dalam proyek Anda harus memilih Android Gradle bukan gradle

 It worked for me

3

Saya mengalami masalah yang sama, sayangnya, bagi saya saya menempatkan task clean di tempat yang salah. Saya punya ini:

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }

    tasks.withType(JavaCompile) {
        sourceCompatibility = "1.8"
        targetCompatibility = "1.8"
    }


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

Yang perlu ini: 

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }

    tasks.withType(JavaCompile) {
        sourceCompatibility = "1.8"
        targetCompatibility = "1.8"
    }
}

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

Setelah begitu banyak penelitian saya menemukan kita harus hanya berkomentar garis tugas bersih di bulid.gradle (Proyek) seperti di bawah ini:

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

Lihat gambar untuk petunjuk

0
Sahil Choudhary
enter code hereallprojects {
repositories {
    google()
    jcenter()
    maven {
        url 'https://maven.google.com'
    }
}

}

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

jika Anda telah menambahkan pakar dalam "build.gradle" Anda, maka checkout semua tanda kurung. Kode harus seperti di atas. Itu harus menyelesaikan masalah. Mungkin saja tanda kurung ditempatkan di tempat yang berbeda. 

0
dilip sarkar