Plug-in Gradle pihak ketiga mungkin menjadi penyebabnya

132

Setelah memperbarui ke Android Studio 3.1 saya mendapat pesan kesalahan ini:

Proyek ini berfungsi dengan baik dan ini sebagian besar hanya peringatan, jadi pertanyaan saya adalah apa arti peringatan itu dan bagaimana saya bisa menghilangkannya?

Bagian yang relevan dari file gradle:

Ini proyek saya build.gradle

buildscript {
    ext {
        kotlin_version = '1.2.31'
        anko_version = '0.10.4'
        room_version = '1.0.0'
        support_version = '27.1.0'
        firebase_version = '12.0.0'
        gms_version = '12.0.0'
    }

    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
    }
}

Dan ini adalah build.gradlefile aplikasi saya :

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 27
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
humazed
sumber
1
menurut issuetracker.google.com/issues/74537216 masalah ini diperbaiki dalam AS3.2
Angel Koh
Build> Rebuild Projectbekerja dari saya
Zohab Ali

Jawaban:

143

Untuk mengatasi masalah ini, hapus Instant App Provision dari "Run Configurations" dan biarkan hanya Gradle-Aware Make.

Run -> Edit Configurations..

Konfigurasi Jalankan / Debug saya setelah pembangunan berhasil

Saya memiliki 3.1AndroidStudio, Plugin Gradle 3.1.0dan versi perpustakaan Kotlin 1.2.30.

Malaikat Kjoseski
sumber
5
ini sebenarnya berfungsi tetapi tidak tahu mengapa itu terjadi dan bagaimana Anda sampai pada solusi ini.
Humazed
59
dan untuk beberapa alasan setelah menghapusnya Instant App Provisionsselalu kembali ke tempatnya.
Humazed
3
Apakah ini menonaktifkan proses instan?
Caleb_Allen
7
@ Caleb_Semua tidak, tapi tidak ada yang menggunakan jalankan instan. Ini untuk 'aplikasi instan', bukan lari instan
Tim
4
Bagi siapa pun di mana ini terus datang kembali (seperti @humazed), saya menemukan perbaikan: Pertama pergi ke Run > Edit Configurationslagi. Lalu pergi ke Edit Defaultsdengan mengklik tombol dengan ikon kunci inggris di bagian atas. Pilih Android Appdan tinggalkan hanya Gradle-aware Makeseperti sebelumnya. Hit berlaku.
b_yng
17

Saya memulai ulang Android Studio dan masalahnya hilang.

Klik File -> Batalkan Cache / Mulai Ulang

Setiap kali saya mengubah file gradle, saya harus memulai ulang Android Studio atau masalahnya kembali.

Anda juga dapat mencoba ini:

  1. Memesan ulang repositori ke:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
    
  2. Menghapus folder ini: pengguna ~ / .gradle / cache dan menghapus folder build aplikasi secara manual, lalu bersihkan dan bangun kembali .

SpkingR
sumber
Tapi saya masih tidak bisa menjalankan aplikasi saya karena itu akan membangun proyek sebelum meluncurkannya.
Infinite Loops
7

Apa yang memperbaiki masalah bagi saya:

  • Ubah versi plugin gradle ke 3.1.0
  • Ubah versi Kotlin ke 1.2.30
  • Kemudian Android studio mengubah pembungkus gradle ke versi 4.4
  • Kemudian Android studio mengatakan bahwa versi build tools yang digunakan adalah 27.0.3dan saya harus mengubahnya 27.0.3jadi saya juga mengubah target SDK27
  • Saya menambahkan ini ke gradle.build saya:

    kapt {
         generateStubs = true
     }
    

Saya harap ini membantu

Júlia Garrigós
sumber
5

di android studio v3.1.2, terjadi Kesalahan:

Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\debug
Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\release
3rd-party Gradle plug-ins may be the cause

karena dataBinding gunakan apply plugin: 'kotlin-kapt'jadi tambah

kapt {
    generateStubs = true
}
  1. Ubah versi plugin gradle ke 3.1.2
  2. Ubah versi Kotlin ke 1.2.30
  3. Kemudian Android studio mengubah pembungkus gradle ke versi 4.4
  4. Kemudian Android studio mengatakan bahwa versi build tools yang digunakan adalah 27.1.1 dan saya harus mengubahnya menjadi 27.1.1 jadi saya juga mengubah target SDK menjadi 27.1.
任 非凡
sumber
5

Inilah beberapa langkah yang saya ikuti. Dalam kasus saya itu sudah memperbaiki masalah!

Modul platform yang menargetkan Android Pembaruan fitur proyek multiplatform eksperimental memperkenalkan dukungan untuk modul platform Android. Modul-modul ini harus menerapkan plugin yang sesuai dalam skrip Gradle build dan dapat menggunakan kode bersama dari modul umum:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-platform-android'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
// ...
// ...

Kapt lokasi diagnostik Sampai sekarang, kapt, alat pemrosesan anotasi Kotlin, dapat menawarkan tautan ke lokasi dalam kode Kotlin asli daripada menghasilkan potongan bertopik Jawa karena melaporkan kesalahan yang ditemui selama pemrosesan anotasi. Anda dapat mengaktifkan fitur ini dengan menambahkan baris ini ke skrip build Gradle (build.gradle):

kapt {
    mapDiagnosticLocations = true
}

Tambahkan ini:

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

Jangan lupa yang berikutnya:

// Architecture Component - Room

     implementation "android.arch.persistence.room:runtime:1.1.0-beta1"
        kapt "android.arch.persistence.room:compiler:1.1.0-beta1"

      // Lifecyles, LiveData and ViewModel
    kapt 'com.android.databinding:compiler:3.1.0'


 // ViewModel and LiveData
    implementation "android.arch.lifecycle:extensions:1.1.1"

// alternatively, just ViewModel
    implementation "android.arch.lifecycle:viewmodel:1.1.1"

 // alternatively, just LiveData
     implementation "android.arch.lifecycle:livedata:1.1.1"
       kapt "android.arch.lifecycle:compiler:1.1.1"

 // Room (use 1.1.0-beta1 for latest beta)
    implementation "android.arch.persistence.room:runtime:1.0.0"
      kapt "android.arch.persistence.room:compiler:1.0.0"


// Paging
    implementation "android.arch.paging:runtime:1.0.0-alpha7"

        // Test helpers for LiveData
    testImplementation "android.arch.core:core-testing:1.1.1"

        // Test helpers for Room
 testImplementation "android.arch.persistence.room:testing:1.0.0"
  1. Bersihkan proyek Anda

  2. Bangun dan Itu dia!

Tambahkan semua ini, Bersihkan proyek Anda, bangun dan Cukup itu! :) Beritahu saya jika ini berhasil! (Jika tidak bekerja untuk Anda, saya akan membantu Anda dengan solusi lain)

Info Lebih Lanjut: Situs Android :) Beri tahu saya jika berfungsi! (Jika tidak berhasil, saya akan mencoba membantu Anda menemukan cara yang lebih baik)

Jika Anda memberikan suara, jelaskan alasannya

Cristofer
sumber
1
Menambahkan baris mapDiagnosticLocations = trueke kaptkonfigurasi berfungsi - kadang-kadang baik setidaknya: /
kuhnroyal
@kuhnroyal Saya menghargai umpan balik Anda! Selamat bersenang-senang, saya terus mencari solusi yang lebih baik
Cristofer
5

Yang sebenarnya membantu saya adalah menambahkan ini

kapt {
     generateStubs = true
}

ke build.gradle

Andrey Aleev
sumber
3

Dalam kasus saya, tidak ada solusi di atas yang menyelesaikan masalah saya, saya menggunakan versi 1.2.50 Kotlin tanpa menyebutkan Instant Run, dan build tidak menghasilkan kelas Dagger, jadi saya menemukan pertanyaan ini yang menyelesaikan masalah saya, tampaknya , dalam situasi saya ini adalah masalah yang terkait dengan versi Kotlin baru, jadi saya menurunkan versi ke versi 1.2.41 dan bekerja dengan baik. Ngomong-ngomong, saya hanya melacak ke titik itu karena saya menggunakan Toggle View pada layar Build.

1: Pilih Toggle View dan bangun proyek Anda

Toggle View

2: Anda akan dapat melihat dengan tepat apa yang terjadi

Kesalahan

Pertanyaan Stackoverflow: Kotlin 1.2.50 meminta baseFeatureInfoDir

Pelacak masalah: https://issuetracker.google.com/issues/110198434

Pedro Okawa
sumber
2

Coba hapus menjalankan Instan dari pengaturan dan gradle akan baik untuk pergi.

Ini berhasil untuk saya.

Munish Thakur
sumber
2

Berikut adalah beberapa langkah yang telah saya ikuti dan itu memperbaiki masalah dalam kasus saya.

  1. Pertama-tama instal versi plugin kotlin ke '1.2.31' dan perbarui dalam file build.gradle seperti di bawah ini.

dependensi {classpath 'com.android.tools.build:gradle:3.1.0' classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ 1.2.31"}

  1. Proyek Bersih.

  2. Akhirnya, Bangun kembali proyek.

Manish Karena
sumber
1
  1. menghapus apply plugin: 'kotlin-kapt'
  2. tambahkan mavenCentral()di build.gradle seperti:

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

  3. Sinkronkan dan Bersihkan proyek
Dan Alboteanu
sumber
0

Berikut adalah beberapa pendekatan bagaimana saya memperbaiki masalah ini untuk kasus saya:

Pertama-tama perbarui versi plugin gradle android Anda dari file build gradle proyek dan kemudian perbarui versi gradle Anda dari properti gradle.

Terakhir perbarui versi kotlin Anda (Wajib) ke kotlin_version = '1.2.30' atau lebih baru dari file gradle build proyek.

Sekarang coba bersihkan proyek Anda dan bangun. Masalah harus diselesaikan. Setiap kali setelah membangun jika Anda membangun lagi maka mungkin masalah akan terjadi lagi, cukup bersihkan proyek Anda lagi dan kemudian bangun.

0xAliHn
sumber
0

Ini terjadi karena prosesor anotasi Kapt menggunakan direktori ini untuk menyimpan file yang dihasilkan Kotlin. Android saat ini tidak mengenali jalur secara default.

Lihat Rincian Lebih Lanjut

Virco
sumber
0

Menambahkan jawaban lain untuk mereka yang tidak bisa menghapusInstant App Provision , karena terus muncul kembali.

Bangun proyek secara manual: ./gradlew assembleDebug

Ini adalah perbaikan terbaru, tetapi akan berhasil (karena masalah ini mungkin terkait dengan Android Studio).

mrek
sumber
0

Saya memiliki masalah ini ketika menggunakan Realm dengan kotlin di studio android.
Untuk menyelesaikan ikuti langkah-langkah ini:

  1. Setelah menambahkan Realm ke proyek build.gradle, Pastikan file build.gradle aplikasi Anda seperti ini:

    apply plugin: 'com.android.application'  
    apply plugin: 'kotlin-android'  
    apply plugin: 'kotlin-android-extensions'  
    apply plugin: 'kotlin-kapt'  
    apply plugin: 'realm-android'  
    .  
    .  
    .  
    androidExtensions {  
    experimental = true
    }
  2. Gunakan kaptalih-alih annotationProcessordalam dependensi build.gradle aplikasi Anda.

  3. Pergi ke Run -> Edit Configurations..dan hapus Instant App Provisionopsi.

  4. Jalankan perintah ini di terminal Android studio:

    gradlew assembleDebug  
  5. Tidak apa-apa !

Catatan: Jika Anda melihat pesan "plug-in Gradle pihak ketiga mungkin menjadi penyebabnya" lagi, lakukan lagi langkah 3 & 4.

Mehdi I.
sumber
0

Konfigurasi sesuai permintaan dengan Gradle 4.6 dan di atasnya: Jika Anda menggunakan Android Gradle Plugin 3.0.x atau 3.1.x dengan Gradle 4.6 dan di atasnya, Anda harus menonaktifkan konfigurasi sesuai permintaan untuk menghindari beberapa kesalahan build yang tidak dapat diprediksi. (Jika Anda menggunakan Android Gradle Plugin 3.2.0 atau lebih tinggi, Anda tidak perlu melakukan tindakan apa pun untuk menonaktifkan konfigurasi sesuai permintaan.)

Nonaktifkan konfigurasi sesuai permintaan dalam file properti gradle.properti seperti yang ditunjukkan di bawah ini:

org.gradle.configureondemand = false Untuk menonaktifkan konfigurasi berdasarkan permintaan dalam pengaturan Android Studio, pilih File> Pengaturan (Android Studio

Preferensi pada Mac), pilih kategori Kompiler di panel kiri, dan kosongkan kotak centang Konfigurasikan saat diminta.

Di Android Studio 3.2 Beta 1 dan lebih tinggi, opsi untuk mengaktifkan konfigurasi berdasarkan permintaan telah dihapus. Baca bagian masalah yang diketahui dari tautan di bawah ini. masukkan deskripsi tautan di sini

Android_Developer
sumber
0

Sebenarnya, saya juga menghadapi kesalahan yang sama. Apa yang saya lakukan adalah memperbarui versi kotlin saya ke yang terbaru . Ini dapat menyelesaikan masalah Anda.

Maulik Togadiya
sumber
-4

Yah, saya menemukan itu karena apply plugin: 'kotlin-kapt', jika Anda menghapus baris ini di build.gradle (aplikasi), maka Anda akan berhasil membangun ...

Tidak tahu mengapa plugin ini menghasilkan peringatan ini.

Newamber
sumber