Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

458
Vistas
Cómo deshabilitar la generación de propiedades de vista sintética mediante el complemento de extensiones de Android Kotlin

El complemento Kotlin Android Extensions genera propiedades estáticas para cada vista con una ID de los archivos de diseño de mi aplicación, como se describe en la documentación .

Me gustaría deshabilitar esta función, porque usamos DataBinding en lugar de las propiedades de vista sintética de Kotlin y, a veces, las importo por accidente; también agrega una sobrecarga de construcción adicional para algo que no usamos.

No es posible deshabilitar el complemento de extensiones de Android, porque usamos la función Parcelize que se realiza con el mismo complemento.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Hay una propiedad de features en el DSL de androidExtensions que le permite proporcionar una lista de funciones para habilitar. Actualmente, solo hay dos disponibles, parcelize y views . Para deshabilitar las propiedades de la vista sintética, agregue esto a su build.gradle :

 android { // ... } androidExtensions { features = ["parcelize"] }

Fuente: https://github.com/JetBrains/kotlin/blob/6bef27e1e889b17ae84dd2ff99881727f13ac3e5/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidComponentRegistrar.kt#L57

over 4 years ago · Santiago Trujillo Denunciar

0

Hoy en día, el complemento de extensiones de Android está descontinuado , por lo que la mejor solución será simplemente eliminar este complemento eliminando el apply plugin: 'kotlin-android-extensions' de su build.gradle .

En lugar de sintéticos, deberíamos usar ViewBinding o DataBinding .

Como se explica en el primer enlace, si también está utilizando el paqueteador, solo necesita cambiar el complemento de android-extensions de Android a kotlin-parcelize y cambiar la declaración de import kotlinx.android.parcel.Parcelize para import kotlinx.parcelize.Parcelize donde sea necesario.

Más información para migrar de extensiones de Android a JetPack aquí .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda