RegisterResGeneratingTask kullanımdan kaldırıldı, registerGeneratedFolders (FileCollection) kullanın


158

Yeni 3.0.0 Gradle pluging ile yeni android stüdyo kullanma.
İnşa ederken bazı uyarılar oldu:

registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)

1
sınıf görevlerinizi gösterebilir misiniz? apk bölme var mı?
itzhar

Lütfen Gradle'ınızı gösterin
Jéwôm '

Sorunu (bilinen bir sorun) ve geçici bir çözümü açıklayan bu makaleyi gördünüz mü ? (Google'da ilk hit.)
ashleedawg

@ashleedawg ne yapmalıyım? android studio güncellensin mi? ya da bazı kütüphaneler?
Valentin Baryshev

4
@ashleedawg bahsettiğiniz geçici çözüm, yanlış anlamadıysanız, gradle eklentisinin eski sürümüyle kalmaktır. Bu, uzun vadede kullanımdan kaldırılmanın bir yolu değildir. Kısa vadede, uyarı <s> yok sayılabilir </s> ancak hatırlanabilir, ancak acil bir işlem gerekmez.
Alex Cohn

Yanıtlar:


46

Söyleyebileceğim kadarıyla, sınıfyolu bağımlılıkları olarak eklenen eklentiler sorun yaratacak. Yani Firebase'in bir sorunu vardı. Kaşık ve Çarpıntı da. Bu Google aramasını yapmak , aynı şey üzerinde ortaya çıkan bir sorunla birlikte birçok GitHub deposunu ortaya çıkarır ve ortak noktaları, Gradle eklentisi olmasıdır. Mate * tarafından belirtildiği gibi kumaş da bir neden gibi görünüyor.

Söyleyebileceğim kadarıyla, sorun bir / birden fazla Gradle eklentisinden geliyor. Gradle kodunuz tarafından da tetiklenebilir, ancak projeniz bir Gradle eklentisi değilse, büyük olasılıkla bu geçerli değildir.

Ve Alex Cohn tarafından belirtildiği gibi bir açıklamada , kullanımdan kaldırma bir uyarıdır. Bu durumda, bunun sonunda kaldırılacağı bir özellik olduğu anlamına gelir. Şimdilik, bir eklenti (ve sizin tarafınızdan yapılmadığını) varsayarsak, göz ardı edebilirsiniz. Kaldırıldığında, büyük eklentilerin çoğu / tümü düzeltmek için güncellenmelidir.

Ve yine, bu bir uyarıdır; bir hata değil. Yine de çalıştırabilir ve sorunla ilgili yapabileceğiniz hiçbir şey yoksa yok sayabilirsiniz. Örneğin Fabric * eklentisini devre dışı bırakmak, hala çalıştığı için aşırıdır.

Fabric'i kendim kullanmıyorum ve Fabric açık kaynaklı değil, bu yüzden geliştiricilerin düzeltip düzeltmediğini bilmiyorum

TL; DR: Gradle eklentileri bunun sebebidir. Bu bir uyarıdır (bir hata değil), bu nedenle soruna neden olan eklentileri kaldırmak aşırıdır. Düzeltemezseniz, şu anda kullanımdan kaldırıldığı sürece (kaldırılmamış) yalnız bırakın


Firebase kullanıyorsanız, bunun geçiş kılavuzunda (bu yayının ilerleyen bölümlerinde bağlantılıdır) belirtilen belirli bir çözümü vardır; guava modülünü hariç tut

classpath ('com.google.firebase:firebase-plugins:1.1.0') {
    exclude group: 'com.google.guava', module: 'guava-jdk5'
}

Sorunun kendisini tespit etmek oldukça zordur. Söyleyebileceğim kadarıyla, kontrol ettiğim tüm eklentilerde buna neden olan tek bir sorun yok (ve bu cevapta bağlantılı). Soruna neden olan bir şey kodladıysanız (ve düzeltmek mümkündür; 3. taraf bir gradle eklentisi eklemek buna neden olmaz), düzeltmeye çalışabileceğiniz bazı şeyler vardır.

Asıl neden olarak söyleyebileceğimden, Gradle dosyasını güncelleyerek çözüldü (Spoon kütüphanesinde olsa da, ilgili bir satırı değiştirerek düzeltildi. TestVariant , Gradle eklentisi 3.0.0 geçiş kılavuzundaki konuları izleyerek ).

Her şey geliştirici dokümanlar tarafından kapsanıyor , ancak işin bir sorun olduğu projelerde yapılan çekme isteklerine dayanarak ilgili olduğunu düşündüğüm bazı şeyler:

Kenara Gradle sürümünü güncelleyerek ve eklentisi, ayrıca eklemeniz gerekir google()altında repo repositories.

compileşimdi implementationya da api, ama implementationtavsiye edilen.

providedöyle compileOnlyve apköyleruntimeOnly

androidTestCompileoldu androidTestImplementationvetestCompile ->testImplementation

Tatlar kullanıyorsanız, lezzet boyutlarını kullanmanız gerekir (dokümanlar tarafından kaplanır).

Derleme türleri için, bu derleme türüne sahip olmayan bir kitaplık olması durumunda yedekler eklemeniz gerekir. Bunlar profile,android .

Daha önce yapılmadıysa, önce gradle eklentisinin tanımlanması gerekir. Başka sınıf yolu bağımlılığınız yoksa, bu bir sorun değildir. Ancak bunu yaparsanız, öncelikle gradle eklentisinin tanımlandığından emin olun.

Kullanıyorsanız sınıfta testVariantsarama yapmadığınızdan emin olun testedVariant. Spoon kütüphanesinin nedeni gibi görünüyor.

Bunlar, anlatabildiğim kadarıyla, sorunu gidermek için yapılan bazı değişiklikler.


Ancak kod satırında hata ayıklayamıyorum hata gösteriyor
Abhinav Gupta

FAILURE: Derleme bir istisna dışında başarısız oldu. * Neler yanlış gitti: '' app: compileDebugJavaWithJavac 'görevi için yürütme başarısız oldu. > Derleme başarısız; ayrıntılar için derleyici hata çıkışına bakın. * Deneyin: Yığın izini almak için --stacktrace seçeneği ile çalıştırın. Daha fazla günlük çıktısı almak için --info veya --debug seçeneğiyle çalıştırın. Tam öngörü elde etmek için --scan ile çalıştırın. * En fazla yardım alın help.gradle.org 4s içinde BAŞARISIZ YAPI 29 eyleme görevleri: 2, 27 kadar güncel infaz
Abhinav Gupta

@AbhinavGupta bu yığın izi değil. Bu size sadece bir şeylerin yanlış gittiğini söyleyen bir mesaj
Zoe

ancak bunu çözemiyorum ve bunun nedeni cihazıma apk yükleyemiyorum
Abhinav Gupta

@AbhinavGupta, Stack Overflow
Zoe hakkında

17

Sürümlü Play servisleri Gradle eklentisini com.google.gms:google-serviceskullanıyorum 4.2.0.

Kaynak kodunda şunu görebiliriz: resim açıklamasını buraya girin

Benim için uyarılarımın nedeni buydu ve eklenti düzeltilinceye kadar kaldırılamaz. Sorun burada

@Zoe tarafından belirtildiği gibi, bu diğer Gradle Eklentilerinden de gelebilir.

En iyi


15

Sorun, Google Services Eklentisi Sürüm 4.3.0 ile çözüldü ( Bu işlemle çözüldü )

buildscript {
    dependencies {
        // Change version to 4.3.0
        classpath 'com.google.gms:google-services:4.3.0'
    }
}

Burada bulundu


10

Fabric Gradle Eklentisinin en son sürümüne güncellemek bu sorunu giderir.

Değişiklik günlüğünden:

  • “RegisterResGeneratingTask” kullanımdan kaldırma uyarısı düzeltildi.

https://docs.fabric.io/android/changelog.html#march-15-2018


Tam olarak ne oluyor? Yükseltmeye değer mi? Herhangi bir soruna neden oluyor mu (güncelleme öncesi ve sonrası)? Biz v2.6.8 kullanın ve şimdi v2.9.3 var, ama changelog içinde nasıl bakmak için görmüyorum. Orada farklı sürümleri var (örneğin "1.4.2 24 Mayıs 2018")
Android geliştirici

@androiddeveloper Fabric Gradle Eklentisi ve Crashlytics'i karıştırıyorsunuz. Sol menüdeki farklı bileşenlere göz atın.
Eugen Pechanec

4

Benim durumumda bu, Android destek kitaplıklarının uyumsuz sürümünden kaynaklandı. Tüm modülleri en son sürüme (28.0.0) güncelledim ve çözdüm.


1

Fabric'i düzgün bir şekilde yükledikten sonra bu sorun benim için çözüldü

import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;

public class MyApplication extends Application {


    @Override
    public void onCreate() {
        super.onCreate();
        Fabric.with(this, new Crashlytics());

    }
}

build.gradle

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

dependencies {
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
}

repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
}

1

Bu hata mesajını aldım ve diğerleri gibi

x-version is deprecated and use y-version instead and it'll be removed in 2019

ve tüm projem aniden aynı hata mesajlarını vermeye başladı.

Android stüdyosu antivirüs programım hakkında uyarılar veriyordu. Yapılandırmayı denedim ama işe yaramadı.

Sonunda QuickHeal antivirüs yazılımını sistemimden kaldırdım ve her şey yolunda


0

Diğer tüm yanıtlar üçüncü taraf bileşenlerle ilgili problemlerle ilgilidir .

İşte güncellemek için nasıl sizin kullanan projeyi registerResGeneratingTaskdoğrudan:

Önce:

variant.registerResGeneratingTask generateIcon, ICON_DIR

Sonra:

variant.mergeResourcesProvider.get().dependsOn generateIcon
variant.registerGeneratedResFolders files(ICON_DIR)

0

Proje Seviyesi Derleme

Google hizmetleri bağımlılığının aşağıdaki sürümünü kullanın.

dependencies {
    classpath 'com.android.tools.build:gradle:3.4.2'
    classpath 'com.google.gms:google-services:4.3.0'
    classpath ('com.google.firebase:firebase-plugins:1.1.0') {
        exclude group: 'com.google.guava', module: 'guava-jdk5'
    }
}

Sorun benim için çözüldü.


-2

Benim için kumaş uyarı eklentisini kapattığımda bu uyarı kayboldu, o lütfen bu uyarıdan sorumlu kumaş veya başka bir eklenti kullanıp kullanmadığınızı kontrol edin.


Kumaş çıkarıldı, ancak yine de bu uyarı görünüyor.
Valentin Baryshev

Kumaş kullanmıyorum ve bu mesajı aldım!
thiagolr

3
İo.fabric eklentisini devre dışı bırakmak, bu uyarıların 8'ini 4'e düşürdü. Yani birden fazla kaynak var gibi görünüyor.
Mario Huizinga

4
com.google.gms:google-services 4.0.1& 4.0.2her ikisi de bu uyarı bildirimine neden olur.
Martin Zeitler
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.