Hala uyarı alıyorum: 'Derleme' yapılandırması eski ve yerine 'uygulama' koyuldu


332

Ben her olay yerini almıştır compiletarafından implementationprojemin yıllarda build.gradle, ama yine de bu uyarıyı alıyorum:

resim açıklamasını buraya girin

Tüm projede "derleme" aramaya çalıştım ama hiçbir eşleşme bulunamadı. Peki sebep ne olabilir?


Hala 'derleme' kullanan yerel bir kütüphane mi kullanıyorsunuz?
Devsil

@Devsil muhtemelen ... ama hangisini nasıl bulabilirim? Tüm projede Yolda Bul'u denedim ancak herhangi bir oluşum bulamadım compile..
Rob

2
Yerel bir kitaplık kullanıyorsanız, gradle.build dosyasını Android Studio pencerenizin sağ tarafındaki proje görüntüleyicide görebilirsiniz. Bu build.gradle dosyasında, uygulamanın aksine bir "derleme" içerebilir. Gördüğünüz herhangi bir build.gradle dosyası bunu içermez. Kullandığınız, yerel olmayan bir kütüphane olabilir, bu nedenle bunu değiştirmenize izin vermez. Yani bu uyarı şimdilik göz ardı edilebilir.
Devsil

1
Gradle sorunun oluştuğu satır numarasını vermelidir
Yetti99

deneyin: stackoverflow.com/questions/48623244/… ve Failed to resolve: android.arch.persistence.room:runtime:1.1.1 Open File Show in Project Structure dialogsürümü değiştirmek için deneyin1.0.0
Saeid

Yanıtlar:


496

Ben güncelledik com.google.gms:google-servicesgelen 3.1.1etmek 3.2.0ve uyarı görünen durdu.

buildscript {

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

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

    classpath 'com.google.gms:google-services:3.2.0'
    }
}

1
'Derleme' yapılandırması kullanılmıyor ve yerine 'uygulama' geçiyor. 2018'in sonunda kaldırılacak Açıkçası, herhangi bir google hizmet bağımlılığı kullanmıyorum {classpath 'com.android.tools.build:gradle:3.1.0'}
Amit_android

"Com.google.gms: google-services: 3.2.0 bulunamadı." bunu denediğimde. Güncelleme: 3.1.1 olarak değiştirdiğimde manuel olarak tiftik uyarısını değiştirdi, daha sonra düzeltmeyi uygulamak için Alt + Enter'ı otomatik olarak com.google.gms: google-services: 3.2.0 olarak senkronize edildi. Aradaki farkın ne olduğundan emin değilim ama sinir bozucu.
jwehrle

Pekala, farkı anladığımı düşünüyorum. Project ve Module build.gradle gms sınıfyolunu 3.2.0 sürümüne değiştirmiştim. Soruna neden olan Modül değişikliği. Yalnızca Project build.gradle gms sınıf yolu sürümünü değiştirin.
jwehrle

Ayrıca jcenter () repo eksikti! Proje çok eskiydi ve bu repo dahil değildi!
Yani2000

Yani bu satırı dosyaya manuel olarak eklemem gerekiyor mu?
hellogoodnight

125

Com.google.gms: google-services adresine neden olan bir Uyarı daha var.

Çözüm, class.yol com.google.gms: google-services 'i build.gradle Project dosyasındaki' com.google.gms: google-services: 3.2.0 'sınıf yoluna yükseltmektir:

resim açıklamasını buraya girin

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.2.0'
    }
}

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

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

Android Studio sürüm 3.1'de bağımlılıklar bileşen kelimesi uygulamaya geçiyor

studio 3.1 Uyarı ile bağımlılıklar

dependencies {
            compile fileTree(dir: 'libs', include: ['*.jar'])
            compile 'com.android.support:appcompat-v7:27.1.0'
            compile 'com.android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.android.support.test:runner:1.0.1'
            androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    }

bağımlılıkları android studio 3.1 TAMAM

    dependencies {
            implementation fileTree(dir: 'libs', include: ['*.jar'])
            implementation 'com.android.support:appcompat-v7:27.1.0'
            implementation 'com.android.support.constraint:constraint-layout:1.0.2'
            testImplementation 'junit:junit:4.12'
            androidTestImplementation 'com.android.support.test:runner:1.0.1'
            androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

    }

Gradel, yeni proje için Android Studio 3.1 tarafından oluşturuldu.

Gradel, yeni proje için Android Studio 3.1 tarafından oluşturuldu.

Https://docs.gradle.org/current/userguide/dependency_management_for_java_projects.html adresini ziyaret edin.

Ayrıntılar için https://docs.gradle.org/current/userguide/declaring_dependencies.html


"TestCompile" ifadesinin "testImplementation" olarak değiştiğini unutmayın.
AJW

cevapların çoğu ve en popüler olanı da hepsi com.google.gms: google-services'a odaklanıyor, ancak her iki
sınıf

32

Com.google.gms: google-services’i 3.2.0’dan 3.2.1’e güncelledim ve uyarı görüntülenmedi.

 buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1'
        classpath 'com.google.gms:google-services:3.2.1'

    }
}

sadece bu 'com.google.gms: google-services: 3.2.0' sürümüne sahip olmanız gereken sürümü değiştirmeniz yeterlidir.
Prateek218

Teşekkürler, yanlış sınıfı güncellemiştim, bu yüzden hatayı aldım.
Jhorra

2
classpath 'com.google.gms:google-services:4.1.0'En güncel olmayan sürüme sahibim ama evet, daha büyük 3.2.0. Hala çözünürlük yok!
sud007

@ sud007, hangi sorunla karşı karşıya olduğunuzu biraz açıklayabilir veya derlemenizi gönderebilirsiniz. başarı (Proje seviyesi)
Prateek218

22

Google gms hizmetlerinin şu anki en son sürümünü kullanmak benim için çözdü.

Proje düzeyinde build.gradle:

buildscript {
    ...
    dependencies {
        classpath 'com.google.gms:google-services:3.2.1'
        ...  
    }
}

18

Burada bulunan build.gradle dosyanızı açın:

resim açıklamasını buraya girin

Bağımlılık kitaplıklarını yazmanın eski yolu (sınıf 2 ve altı sürümleri için):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile files('libs/volley.jar')
    compile 'com.android.support:support-v4:21.+'
}

Sınıf sürüm 3 için bağımlılıkları içe aktarmanın yeni (sağ) yolu:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    implementation files('libs/volley.jar')
    implementation 'com.android.support:support-v4:21.+'
}

1
Teşekkürler arkadaşım! Bu, Ocak 2019'dan itibaren en güncel cevap gibi görünüyor
NaturalBornCamper

Bu cevap, bu sorunla ilk kez karşılaşanlar için yararlıdır. OP'nin farklı bir sorusu olsa da, bu değişikliklerden sonra bile hata mesajının görüntülendiğini söylüyor.
sud007


7

https://issuetracker.google.com/issues/72479188 , eklentilerin bazen "derleme" bağımlılıkları getirebileceğini ve uyarıyı tetikleyen şeyin bu olduğunu gösterir. Muhtemelen bu sorunu yıldızlamak ve düzeltmek için hangi eklentilerin soruna neden olduğunu belirtmek için bekleyin.


6

Hattı çıkarmanıza gerek yok. Jkrevis'in yazdığı gibi, com.google.gms: google-services'i 3.2.0 olarak güncelleyin ve uyarıları durdurur.


1
Projenizin build.gradle (Modül: Uygulama) içindeki her 'derleme' örneğini 'uygulama' ile değiştirdiniz ve build.gradle (Project) içindeki com.google.gms: google-services'i 3.2.0 olarak güncellediniz mi?
Tom

6

Kullanmadan bu problemle karşılaşıyorum com.google.gms:google-services. Bu tür problemleri aşağıdaki gibi çözen çözüm:

  1. build.gradletüm projelerin ve modüllerin dosyalarını kontrol edin . Ya da sadece küresel arama anahtar kelimesi 'derlemek' bu uyarının nedenini bulmak için.
  2. yukarıdaki yöntem bu uyarıyı çözemezse , bilgi çok fazla olduğundan CLI Komutunu kullanın, ./gradlew assembleDebug -d > gradle.log
    ayrıntılı hata ayıklama bilgilerini adlı bir dosyaya gradle.logveya başka bir dosyaya yazdırın . Ardından, kelimeyi bulmak için "UYARI" kelimesini arayın gradle.log, genellikle hangi bağımlılığın veya eklentinin uyarıya neden olduğunu bulabilirsiniz.

2
Bunun genel çözüm olduğunu düşünüyorum. Sorun bağımlılıklarınızdan herhangi biri veya birkaçından kaynaklanıyor olabilir
Rasmusob

5

Benim durumumda, Realm kütüphanesinden kaynaklanıyor, Realm'in en son sürümüne (5.1.0) güncelledikten sonra sorun çözüldü!

İşte çalışma notu betiği:

buildscript {
repositories {
    jcenter()
    google()
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath "io.realm:realm-gradle-plugin:5.1.0"
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:3.2.1'
  }
}

3

Sadece google-service sürümünü güncellemek benim için çalışmadı.

  • Öncelikle tüm bağımlılıklarınızın compiledeğiştirildiğinden emin olun implementation.
  • Projenizdeki tüm bağımlılıkları güncelleyin. Çünkü bağımlılığınızdan biri varsa compile, projeniz bu hatayı gösterecektir. Yani tüm bağımlılıklar sürümünü güncelleyin.

2

proje düzeyinde build.gradle dosyanıza gidin aşağıdaki satırları vurgulanmış olarak bulacaksınız

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.4'  //place your cursor over here 
    //and hit alt+enter and it will show you the appropriate version to select


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

    classpath 'com.google.gms:google-services:4.0.2' //the same as previously
}

2

Benim durumumda, geçişli bağımlılıklar için derleme kullanan eski bir bağımlılıktı: com.jakewharton.hugo

Gradle'ımdan çıkardıktan sonra derledi.


1

Bu sorunu çözmek için geçici çözüm buldum edilebilir Gradle eski bir sürümünü, kullanılan benim için burada :

Gradle-3.0-rc-1-src sürümünü kullandım, ancak muhtemelen 3.0 sürümünden daha yeni olmamasına rağmen diğerleri de çalışabilir.

Önce zip dosyasını istediğiniz yere çıkarın.

Ardından Dosya -> Ayarlar -> Derleme, Yürütme, Dağıtım -> Sınıflandırma'ya gidin ve ayarı Yerel sınıflandırma dağıtımını kullan olarak değiştirin. Bundan sonra Gradle Home-field alanının, açtığınız dizindeki .gradle dizinini gösterdiğinden emin olun.

Projeyi yeniden oluşturun ve her şey yolunda olmalı.


0

Google gms hizmetlerinicom.google.gms:google-services:3.2.1 Android Studio 3.0.1'deki en son sürüme değiştirmeyi denedim ancak uyarı hala devam ediyor.

Derleyici tarafından önerildiği üzere, tüm değişti compileiçin bağımlılıkları implementationve testCompileiçin testImplementationböyle ..

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:mediarouter-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.google.firebase:firebase-ads:12.0.1'
implementation 'com.google.firebase:firebase-crash:12.0.1'
implementation 'com.google.firebase:firebase-core:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
implementation 'com.google.firebase:firebase-perf:12.0.1'
implementation 'com.google.firebase:firebase-appindexing:12.0.1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

Ve son olarak uyarı kaldırıldı!


0

Bu iki seçeneği yapabilirsiniz:

  1. Ur projesine classpath 'com.google.gms: google-services: 3.2.0' ekleyin: build.gradle bağımlılıkları ve
  2. Modülünüzü değiştirin: build.gradle, complile uygulamasından bağımsız olarak uyarı mesajı almazsınız.

0

Şuradan ekleyin build.gradle:build script

classpath 'com.google.gms:google-services:3.2.0'

ve tüm bağımlılıklar bunun "compile"yerine geçer "implementation".

benden çalıştı.


Kullanıyorsanız, classpathbunu bir buildscriptblok içinde kullanmanız gerektiğini unutmayın ; dahası, implementationbir buildscriptblok içinde kullanılamaz .
ChumiestBucket

0

Mevcut sürüm 4.2.0'dır :

buildscript {

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

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:4.2.0'
}

}


0

Benim için uygulama derlemesini değiştirmek düzeltildi

Önce

compile 'androidx.recyclerview:recyclerview:1.0.0'
compile 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

Sonra

implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
//Retrofit Dependencies
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'

-2

Build.gradle (app) ile etkileneceğinizi umarsanız, bu adımı izleyin

Değiştir derleme ile androidTestImplementation build.gradle içinde

androidTestImplementation 'com.android.support:appcompat-v7:27.1.1'
androidTestImplementation 'com.android.support:design:27.1.1'

çok basit ! umarım bu çözer


-3

Benim durumumda sorun, gradle dosyasında aşağıdaki satırı içeren Google hizmetleri gradle eklentisidir:

eklenti uygula: 'com.google.gms.google-hizmetler'

Bunu kaldırmak sorunu çözdü


-7

Size gitmek build.gradle (uygulama düzeyinde)

build.gradle modül uygulaması

ve kelimenin yerine "derleme" tarafından "uygulanması"

% 100 çalışacak


6
Bu cevap faydalı değil. OP zaten bunun yapıldığını belirtti, bu yüzden muhtemelen yardımcı olamaz.
NightOwl888

1
Ben aynı sorunu vardı, ben benim app apk bcoz, bu cevap veremedi çözemedim
Ayoub

Bu aynı durum değil, OP zaten bunu yaptığını belirtti (aynı teknede olduğumu)
ElliotM

OP, "Derlemenin her oluşumunu uygulama ile değiştirdim" dedi.
mapo
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.