Üçüncü taraf Gradle eklentileri sorunun nedeni olabilir


132

Android Studio 3.1'e güncelledikten sonra şu hata mesajını aldım:

Proje iyi çalışıyor ve bu çoğunlukla sadece bir uyarı, bu yüzden sorum şu, uyarının anlamı nedir ve bundan nasıl kurtulabilirim?

Gradle dosyalarından ilgili parçalar:

Bu benim projem 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' }
    }
}

Ve bu benim uygulamamın build.gradledosyası:

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'
        }
    }
}


Build> Rebuild Projectbenden çalıştı
Zohab Ali

Yanıtlar:


143

Sorunu çözmek için "Yapılandırmaları Çalıştır" bölümünden kaldırın Instant App Provision ve yalnızca Gradle-Aware Make.

Run -> Edit Configurations..

Başarılı derlemeden sonra Çalıştır / Hata Ayıklama yapılandırmalarım

AndroidStudio 3.1, Gradle Plugin 3.1.0ve Kotlin library sürümüm var 1.2.30.


5
bu aslında işe yarıyor ama bunun neden olduğu ve bu çözüme nasıl ulaştığınız hakkında herhangi bir fikriniz yok.
2018

59
ve herhangi bir nedenle sildikten Instant App Provisionssonra her zaman yerine geri döner.
2018,

3
Bu, anında çalışmayı devre dışı bırakır mı?
Caleb_Allen

7
@Caleb_Allen hayır, ama yine de kimse anında koşmayı kullanmıyor. Bu, 'anlık uygulamalar' içindir, anında çalıştırma için değildir
Tim

4
Bunun geri gelmeye devam ettiği herkes için (@humazed gibi) bir düzeltme buldum: Önce Run > Edit Configurationstekrar gidin . Ardından Edit Defaults, üstünde İngiliz anahtarı simgesi olan düğmeyi tıklayarak gidin . Android AppSadece Gradle-aware Makeeskisi gibi seçin ve bırakın . Uygula düğmesine basın.
b_yng

17

Android Studio'yu yeniden başlattım ve sorun ortadan kalktı.

Dosya -> Önbellekleri Geçersiz Kıl / Yeniden Başlat'ı tıklayın.

Gradle dosyasını her değiştirdiğimde, Android Studio'yu yeniden başlatmalıyım veya sorun geri dönüyor.

Ayrıca şunu da deneyebilirsiniz:

  1. Kod depolarını şu şekilde yeniden sıraladı:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
  2. Bu klasörü temizleme: kullanıcının ~ / .gradle / cache'leri ve uygulama derleme klasörünü manuel olarak silme , ardından temizleyip yeniden oluşturma .


Ancak, uygulamayı başlatmadan önce projeyi oluşturacağı için uygulamamı hala çalıştıramıyorum.
Sonsuz Döngüler

7

Benim için sorunu çözen şey:

  • Gradle eklenti sürümünü şu şekilde değiştirin: 3.1.0
  • Kotlin sürümünü şu şekilde değiştirin: 1.2.30
  • Ardından Android Studio, gradle sarmalayıcıyı sürüme 4.4
  • Sonra Android stüdyosu, kullanılan derleme araçları sürümünün olduğunu 27.0.3ve bunu olarak değiştirmem gerektiğini söylüyordu, bu 27.0.3yüzden hedef SDK'yı da27
  • Bunu gradle.build'ime ekledim:

    kapt {
         generateStubs = true
     }

Umut ediyorum bu yardım eder


5

android studio v3.1.2'de Hata oluştu:

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

çünkü dataBinding apply plugin: 'kotlin-kapt'bunu ekleyin

kapt {
    generateStubs = true
}
  1. Gradle eklenti sürümünü 3.1.2 olarak değiştirin
  2. Kotlin sürümünü 1.2.30 olarak değiştirin
  3. Ardından Android Studio, gradle paketleyiciyi 4.4 sürümüne çevirdi
  4. Sonra Android stüdyosu kullanılan derleme araçları sürümünün 27.1.1 olduğunu ve bunu 27.1.1 olarak değiştirmem gerektiğini söylüyordu, bu yüzden hedef SDK'yı da 27 olarak değiştirdim

5

İşte izlediğim bazı adımlar. Benim durumumda sorun çözüldü!

Android'i hedefleyen platform modülleri Deneysel çok platformlu proje özelliğinin güncellemesi, Android platform modülleri için destek sağlar. Bu modüller, Gradle derleme komut dosyasında karşılık gelen eklentiyi uygulamalıdır ve ortak bir modülden paylaşılan kodu kullanabilir:

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

Kapt tanılama konumları Şu an itibariyle, Kotlin açıklama işleme aracı olan kapt, açıklama işleme sırasında karşılaşılan hataları rapor ettiği için oluşturulan Java saplamaları yerine orijinal Kotlin kodundaki konumlara bağlantılar sunabilir. Bu özelliği, şu satırları Gradle oluşturma komut dosyasına (build.gradle) ekleyerek etkinleştirebilirsiniz:

kapt {
    mapDiagnosticLocations = true
}

Bunu ekle:

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

Bir sonrakini unutma:

// 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. Projenizi temizleyin

  2. İnşa edin ve işte bu kadar!

Bunların hepsini ekleyin, Projenizi temizleyin, inşa edin ve işte bu kadar! :) Bunun işe yarayıp yaramadığını bana bildirin! (Sizin için çalışmıyorsa, başka bir çözümle size yardımcı olacağım)

Daha Fazla Bilgi: Android Sitesi :) Çalışırsa bana haber ver! (İşe yaramazsa, daha iyi bir yol bulmana yardım etmeye çalışacağım)

Olumsuz oy verirseniz nedenini açıklayın


1
Çizgi ekleme mapDiagnosticLocations = trueiçin kaptyapılandırma eserleri - iyi bazen en azından: /
kuhnroyal

@kuhnroyal Geri bildiriminizi takdir ediyorum! İyi günler, daha iyi bir çözüm aramaya devam ediyorum
Cristofer

5

Aslında bana yardımcı olan şey bunu eklemek

kapt {
     generateStubs = true
}

build.gradle içine


3

Benim durumumda yukarıdaki çözümlerden hiçbiri sorunumu çözmedi, Anında Çalıştırma'dan bahsetmeden 1.2.50 Kotlin sürümünü kullanıyordum ve yapı Dagger sınıflarını oluşturmuyordu, bu yüzden sorunumu çözen bu soruyu buldum görünüşe göre , benim durumumda bu yeni Kotlin sürümüyle ilgili bir sorun, bu yüzden 1.2.41 sürümüne geçtim ve iyi çalıştım. Bu arada, o noktayı takip ettim çünkü Oluşturma ekranındaki Görünümü Değiştir ekranını kullandım.

1: Geçiş Görünümünü seçin ve projenizi oluşturun

Görünümü Değiştir

2: Tam olarak ne olduğunu görebileceksiniz

Hata

Stackoverflow sorusu: Kotlin 1.2.50, baseFeatureInfoDir'i ister

Sorun izleyici: https://issuetracker.google.com/issues/110198434


2

Anında çalıştırmayı ayarlardan kaldırmayı deneyin; gradle kullanıma hazırdır.

Benim için çalıştı.


2

İşte izlediğim bazı adımlar ve benim durumumdaki sorunu çözdü.

  1. Öncelikle kotlin eklenti sürümünü '1.2.31'e yükleyin ve aşağıdaki gibi build.gradle dosyasında güncelleyin.

bağımlılıklar {classpath 'com.android.tools.build:gradle:3.1.0' classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ 1.2.31"}

  1. Temiz Proje.

  2. Sonunda projeyi yeniden oluşturun.


1
  1. Kaldırmak apply plugin: 'kotlin-kapt'
  2. mavenCentral()build.gradle gibi ekleyin :

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

  3. Senkronize Et ve Temizle projesi

0

İşte bu sorunu benim durumum için nasıl düzelttiğim bazı yaklaşım:

Öncelikle proje derleme gradle dosyasından android gradle eklenti sürümünüzü güncelleyin ve ardından gradle sürümünüzü gradle özelliklerinden güncelleyin.

Son olarak proje derleme gradle dosyasından kotlin sürümünüzü (Zorunlu) kotlin_version = '1.2.30' veya sonraki bir sürüme güncelleyin.

Şimdi projenizi temizlemeye ve inşa etmeye çalışın. Sorun çözülmeli. Derlemeden sonra her seferinde yeniden inşa ederseniz muhtemelen sorun tekrar ortaya çıkacaktır, bu nedenle projenizi tekrar temizleyin ve ardından inşa edin.


0

Bunun nedeni Kapt açıklama işlemcisinin Kotlin tarafından oluşturulan dosyaları depolamak için bu dizini kullanmasıdır. Android şu anda yolu varsayılan olarak tanımıyor.

Diğer Ayrıntılara Bakın


0

Olanlar için başka bir yanıt ekleme kaldıramadıInstant App Provision o incelemeye devam etmektedir, çünkü.

Projeyi manuel olarak oluşturun: ./gradlew assembleDebug

Bu bir düzeltmedir, ancak çalışacaktır (çünkü sorun muhtemelen Android Studio ile ilgilidir).


0

Android stüdyosunda kotlin ile Realm kullanırken bu sorunu yaşadım.
Çözmek için şu adımları izleyin:

  1. Realm'i project.gradle projesine ekledikten sonra, uygulama build.gradle dosyanızın aşağıdaki gibi olduğundan emin olun:

    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. Uygulama build.gradle bağımlılıklarınızda kaptbunun yerine kullanın annotationProcessor.

  3. Git Run -> Edit Configurations..ve Instant App Provisionseçeneği kaldır .

  4. Bu komutu Android stüdyosunun terminalinde çalıştırın:

    gradlew assembleDebug  
  5. Tamam !

Not: "Üçüncü taraf Gradle eklentileri sorunun nedeni olabilir" mesajını tekrar görürseniz, 3. ve 4. adımları tekrar uygulayın.


0

Gradle 4.6 ve üzeri ile isteğe bağlı yapılandırma: Android Gradle Plugin 3.0.x veya 3.1.x'i Gradle 4.6 ve üzeri ile kullanıyorsanız, bazı öngörülemeyen yapı hatalarını önlemek için isteğe bağlı yapılandırmayı devre dışı bırakmalısınız. (Android Gradle Plugin 3.2.0 veya üstünü kullanıyorsanız, isteğe bağlı yapılandırmayı devre dışı bırakmak için herhangi bir işlem yapmanız gerekmez.)

Gradle.properties dosyanızdaki isteğe bağlı yapılandırmayı aşağıda gösterildiği gibi devre dışı bırakın:

org.gradle.configureondemand = false Android Studio ayarlarında isteğe bağlı yapılandırmayı devre dışı bırakmak için Dosya> Ayarlar (Android Studio

Mac'te Tercihler), sol bölmedeki Derleyici kategorisini seçin ve İsteğe bağlı yapılandır onay kutusunun işaretini kaldırın.

Android Studio 3.2 Beta 1 ve sonraki sürümlerde, isteğe bağlı yapılandırmayı etkinleştirme seçenekleri kaldırılmıştır. Lütfen aşağıdaki bağlantıdan bilinen sorunlar bölümünü okuyun. bağlantı açıklamasını buraya girin


0

Aslında ben de aynı hatayla karşılaşıyordum. Yaptığım şey kotlin sürümümü en son sürüme güncellemek . Bu, sorununuzu çözebilir.


-4

Peki, bunun yüzünden olduğunu buldum apply plugin: 'kotlin-kapt' bu satırı build.gradle (app) 'de silerseniz, başarılı bir şekilde inşa edeceksiniz ...

Bu eklentinin neden bu uyarılara neden olduğu hakkında hiçbir fikriniz yok.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.