es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Plugin de Kotlin-parcelize y enlace sintético.

Somos una empresa con más de 10 aplicaciones que utilizan más de 10 SDK internos, todos codificados en el glorioso tiempo del complemento de gradle kotlin-android-extensions. Dependemos en gran medida tanto de @Parcelize como de la vinculación sintética (todas nuestras vistas están codificadas con ella). Con las versiones más nuevas de Kotlin, este complemento ahora está obsoleto a favor de kotlin-parcelize para @Parcelize y View Binding como reemplazo de la vinculación sintética.

Intentamos actualizar nuestra versión de Kotlin de 1.4.10 a 1.6.0 mientras seguimos utilizando el complemento kotlin-android-extensions. De repente, tuvimos un error de @Parcelize reportado aquí, solucionado en Kotlin 1.5.0. Excepto que la solución no está en Kotlin en sí, sino en el complemento kotlin-parcelize. Y, por supuesto, como deprecó kotlin-android-extensions, este último no contiene la solución. Entonces, en resumen, para solucionar el problema tenemos que utilizar kotlin-parcelize.

Sabiendo que no se puede utilizar kotlin-parcelize junto con kotlin-android-extensions (error de compilación) y que cambiar todas nuestras vistas de la vinculación sintética a la vinculación de vistas será un trabajo muy complicado que llevará una enorme cantidad de tiempo, ¿qué se puede hacer aquí? Realmente queremos seguir utilizando la vinculación sintética mientras podemos actualizar Kotlin a sus últimas versiones.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como especialista en Android, Kotlin, android-gradle-plugin, kotlin-android-extensions y android-viewbinding, recomendaría el siguiente curso de acción para la empresa con múltiples aplicaciones que utilizan SDK internos.

    Dado que el complemento kotlin-android-extensions se ha vuelto obsoleto, ya no se puede confiar en él, ya que las últimas versiones de Kotlin no lo admiten. La empresa puede empezar a utilizar el complemento kotlin-parcelize para admitir @Parcelize.

    Sin embargo, dado que kotlin-parcelize no se puede usar junto con kotlin-android-extensions, la empresa debe migrar todas sus vistas a enlace de vista (view binding). Aunque esto puede llevar tiempo, es esencial para que la empresa pueda actualizar a las últimas versiones de Kotlin y continuar utilizando @Parcelize.

    La empresa puede dividir este proceso de migración en pasos más pequeños y dar prioridad a las aplicaciones críticas para migrar primero. También pueden considerar contratar recursos adicionales para acelerar el proceso de migración.

    En general, es crucial para la empresa mantener sus aplicaciones actualizadas con las últimas tecnologías y bibliotecas para obtener un mejor rendimiento, experiencia del usuario y seguridad. Por lo tanto, deben llevar a cabo la migración al enlace de vista (view binding) para mantener sus aplicaciones actualizadas y continuar utilizando @Parcelize.

Comments are closed.