La migración de mi proyecto a View Binding está en marcha, pero mientras tanto, esta advertencia distrae al mirar los registros de compilación
Advertencia: el complemento de Gradle 'kotlin-android-extensions' está obsoleto. Utilice esta guía de migración ( https://goo.gle/kotlin-android-extensions-deprecation ) para comenzar a trabajar con View Binding ( https://developer.android.com/topic/libraries/view-binding ) y el ' Complemento kotlin-parcelize'.
¿Cómo puedo desactivarlo?
El informe es una advertencia de que está utilizando un complemento obsoleto, no entiendo por qué querría deshabilitarlo, ya que tarde o temprano espero que la compilación falle y es posible que no recuerde por qué.
El artículo dice: "Si su aplicación no usa las funciones de Parcelize, elimine la línea que habilita las extensiones de Android de Kotlin: (también conocido como, simplemente elimine la línea apply plugin: 'kotlin-android-extensions'). Puede resultar que no lo haga necesita el complemento, es difícil de decir ya que no indicó si está utilizando alguna función proporcionada por el complemento obsoleto.
Si está anotando clases con 'Parcelable', entonces hay un poco de trabajo que deberá hacer, como se indica en el artículo.
Editar: también desapareció ver sintéticos (la función que le permitía no usar todos esos 'findViewById'. Eso es (OMI) es la pérdida más grande y aún no he transferido mis aplicaciones, por lo que no puedo comentar sobre la cantidad de trabajo que hará tomar para moverse.
Para el futuro inmediato, elegí esperar e implementar el nuevo código más tarde, pero deberá tomar su propia decisión sobre cuándo es apropiado migrar del complemento obsoleto.
También recientemente enfrenté este problema y lo descubrí.
En Kotlin 1.4.20-M2 , JetBrains desaprobó el complemento del compilador Kotlin Android Extensions a favor de View Binding y, además, Google está promoviendo la modularización, pero las propiedades sintéticas no funcionan entre módulos.
Así que para arreglar esta advertencia. Elimine apply plugin: 'kotlin-android-extensions' en su archivo build.gradle
Nota: si está utilizando Parcelize .
No olvide que la característica Parcelize en Kotlin es parte del complemento del compilador kotlin-android-extensions, por lo que eliminar el complemento terminará haciendo que todas sus clases Parcelable no se compilen si dependen de la anotación Parcelize.
JetBrains extrajo Parcelize de Kotlin Android Extensions a un nuevo complemento, kotlin-parcelize
Primero, deberá agregar el complemento kotlin-parcelize al archivo build.gradle de su proyecto.
Plugins { ... id 'kotlin-parcelize' }Luego cambie su antigua declaración de importación de
import kotlinx.android.parcel.Parcelize
para
import kotlinx.parcelize.Parcelize
Para obtener más información, le recomiendo que lea este blog Migración del obsoleto complemento del compilador Kotlin Android Extensions
Solo necesita eliminar esta línea de su Gradle:
apply plugin: 'kotlin-android-extensions'