Menggunakan studio android baru dengan pluging 3.0.0 Gradle baru.
Ketika membangun beberapa peringatan terjadi:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
android
android-studio
gradle
kotlin
android-studio-3.0
Valentin Baryshev
sumber
sumber
Jawaban:
Dari apa yang saya tahu, plugin yang ditambahkan sebagai dependensi classpath akan memberikan masalah. Yaitu Firebase memiliki masalah dengannya. Sendok dan Bergetar juga. Melakukan pencarian Google ini mengungkapkan banyak repo GitHub dengan masalah yang diangkat tentang hal yang sama, dan semua kesamaan yang mereka miliki adalah kenyataan bahwa itu adalah plugin Gradle. Kain juga tampaknya menjadi penyebab, sebagaimana disebutkan oleh Mate *
Dari apa yang saya tahu, masalahnya berasal dari / beberapa plugin Gradle. Itu juga dapat dipicu oleh kode Gradle Anda, tetapi ini kemungkinan besar tidak berlaku jika proyek Anda adalah aplikasi dan bukan plugin Gradle.
Dan seperti yang disebutkan oleh Alex Cohn dalam komentar, penghinaan adalah peringatan. Dalam hal ini, itu berarti fitur yang pada akhirnya akan dihapus. Jadi untuk saat ini, dengan asumsi itu adalah plugin (dan tidak dibuat oleh Anda), Anda dapat mengabaikannya. Pada saat itu dihapus, sebagian besar / semua plugin utama harus diperbarui untuk memperbaikinya.
Dan, sekali lagi, ini adalah peringatan; bukan kesalahan. Anda masih dapat menjalankannya, dan mengabaikannya jika tidak ada yang dapat Anda lakukan tentang masalah ini. Menonaktifkan mis. Plugin Fabric * berlebihan, karena masih berfungsi.
Saya tidak menggunakan Fabric sendiri, dan Fabric bukan open-source, jadi saya tidak tahu apakah pengembang memperbaikinya atau tidak
TL; DR: Plugin gradle adalah penyebabnya. Ini peringatan (bukan kesalahan), jadi lepaskan plugin yang menyebabkan masalah ini berlebihan. Jika Anda tidak dapat memperbaikinya, biarkan saja selama itu hanya usang saat ini (tidak dihapus)
Jika Anda menggunakan Firebase, ada solusi khusus untuk itu yang juga disebutkan dalam panduan migrasi (ditautkan nanti di posting ini); tidak termasuk modul jambu biji
Masalahnya sendiri cukup sulit dideteksi. Dari apa yang saya tahu, tidak ada masalah tunggal yang menyebabkannya di semua plugin yang saya periksa (dan ditautkan dalam jawaban ini). Jika Anda telah membuat kode sesuatu yang menyebabkan masalah (dan mungkin memperbaikinya; menambahkan plugin gradle pihak ke-3 tidak menyebabkannya), ada beberapa hal yang dapat Anda coba untuk memperbaikinya.
Dari apa yang saya tahu penyebab sebenarnya, ini diselesaikan dengan memperbarui file Gradle (meskipun di perpustakaan Spoon, itu diperbaiki dengan mengubah baris yang terkait dengan
TestVariant
) dengan mengikuti topik dalam panduan migrasi plugin 3.0.0 Gradle.Semuanya dibahas oleh pengembang dokumen , tapi di sini ada beberapa hal yang saya pikir relevan berdasarkan permintaan tarik dilakukan pada proyek-proyek di mana itu menjadi masalah:
Selain memperbarui versi dan plugin Gradle, Anda juga perlu menambahkan
google()
repo di bawahrepositories
.compile
sekarangimplementation
atauapi
, tetapiimplementation
yang disarankan.provided
adalahcompileOnly
danapk
sekarangruntimeOnly
androidTestCompile
telah menjadiandroidTestImplementation
, dantestCompile
->testImplementation
Jika Anda menggunakan rasa, Anda harus menggunakan dimensi rasa (tercakup oleh dokumen).
Untuk tipe build, Anda harus menyertakan fallback jika ada perpustakaan yang tidak memiliki tipe build tersebut. Ini didefinisikan dalam
profile
blok di bawahandroid
blok.Jika belum dilakukan, plugin gradle harus ditentukan terlebih dahulu. Jika Anda tidak memiliki dependensi classpath lain, itu bukan masalah. Tetapi jika Anda melakukannya, pastikan plugin gradle didefinisikan terlebih dahulu.
Jika Anda menggunakan
testVariants
, pastikan Anda tidak menelepontestedVariant
di kelas. Tampaknya menjadi penyebab perpustakaan Spoon.Hal-hal ini, dari apa yang saya dapat katakan, beberapa perubahan yang dibuat untuk memperbaiki masalah.
sumber
Saya menggunakan plugin Play Services Gradle
com.google.gms:google-services
dengan versi4.2.0
.Dalam kode sumber kita dapat melihat bahwa:
Jadi bagi saya, itulah alasan peringatan saya dan tidak dapat dihapus sampai plugin diperbaiki. Masalahnya ada di sini
Seperti yang disebutkan oleh @Zoe, ini mungkin berasal dari Plugin Gradle lainnya juga.
Terbaik
sumber
Masalah ini diatasi dengan Plugin Layanan Google Versi 4.3.0 (Diselesaikan dengan komit ini )
Ditemukan di sini
sumber
Memperbarui ke versi terbaru dari Plugin Fabric Gradle memperbaiki masalah ini.
Dari changelog:
https://docs.fabric.io/android/changelog.html#march-15-2018
sumber
Dalam kasus saya ini disebabkan oleh versi yang tidak cocok dari perpustakaan dukungan Android. Saya memperbarui semua modul ke versi terbaru (28.0.0) dan menyelesaikannya.
sumber
Setelah menginstal Fabric dengan benar, masalah ini diselesaikan untuk saya
build.gradle
sumber
Saya punya pesan kesalahan ini dan banyak yang lain suka
x-version is deprecated and use y-version instead and it'll be removed in 2019
dan semua proyek saya mulai memberikan pesan kesalahan yang sama tiba-tiba.
Studio Android memberi peringatan tentang program antivirus saya. Saya mencoba mengonfigurasinya tetapi tidak berhasil.
Akhirnya saya uninstall antivirus QuickHeal dari sistem saya dan semuanya baik-baik saja sekarang
sumber
Semua jawaban lainnya adalah tentang masalah dengan komponen pihak ketiga .
Berikut cara memperbarui proyek Anda yang menggunakan
registerResGeneratingTask
secara langsung:Sebelum:
Setelah:
sumber
Tingkat Proyek Build.Gradle
Gunakan versi ketergantungan layanan google berikut ini.
Masalah terpecahkan untuk saya.
sumber
Bagi saya peringatan ini hilang ketika saya mematikan plugin fabric gradle, o silakan periksa apakah Anda menggunakan fabric atau plugin lain yang saya bertanggung jawab atas peringatan ini.
sumber
com.google.gms:google-services
4.0.1
&4.0.2
Keduanya menyebabkan pemberitahuan peringatan ini.