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)
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)
Yanıtlar:
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 implementation
ya da api
, ama implementation
tavsiye edilen.
provided
öyle compileOnly
ve apk
öyleruntimeOnly
androidTestCompile
oldu androidTestImplementation
vetestCompile
->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 testVariants
arama 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.
Sürümlü Play servisleri Gradle eklentisini com.google.gms:google-services
kullanıyorum 4.2.0
.
Kaynak kodunda şunu görebiliriz:
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
Fabric Gradle Eklentisinin en son sürümüne güncellemek bu sorunu giderir.
Değişiklik günlüğünden:
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.
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' }
}
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
Diğer tüm yanıtlar üçüncü taraf bileşenlerle ilgili problemlerle ilgilidir .
İşte güncellemek için nasıl sizin kullanan projeyi registerResGeneratingTask
doğrudan:
Önce:
variant.registerResGeneratingTask generateIcon, ICON_DIR
Sonra:
variant.mergeResourcesProvider.get().dependsOn generateIcon
variant.registerGeneratedResFolders files(ICON_DIR)
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ü.
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.
com.google.gms:google-services
4.0.1
& 4.0.2
her ikisi de bu uyarı bildirimine neden olur.