Enlace de bibliotecas Kotlin de Android

Importante

Estamos investigando el uso de enlaces personalizados en la plataforma Xamarin. Realice esta encuesta para informar de esfuerzos de desarrollo futuros.

La plataforma Android, junto con sus lenguajes y herramientas nativos, está evolucionando constantemente y hay muchas bibliotecas de terceros desarrolladas con las últimas ofertas. La maximización de la reutilización del código y de los componentes es uno de los principales objetivos del desarrollo multiplataforma. La capacidad de reutilizar los componentes creados con Kotlin es cada vez más importante para los desarrolladores de Xamarin, ya que su popularidad entre los desarrolladores sigue creciendo. Es posible que ya esté familiarizado con el proceso de enlace de las bibliotecas de Java normales. Ahora hay documentación adicional que describe el proceso de enlazar una biblioteca de Kotlin, de modo que una aplicación de Xamarin la pueda utilizar de la misma manera. El objetivo de este documento es describir un enfoque de alto nivel para crear un enlace de Kotlin para Xamarin.

Enfoque de alto nivel

Con Xamarin, puede enlazar cualquier biblioteca nativa de terceros para que una aplicación de Xamarin la pueda consumir. Kotlin es el nuevo lenguaje y la creación de enlaces para las bibliotecas compiladas con este lenguaje requiere algunos pasos y herramientas adicionales. Este enfoque implica los cuatro pasos siguientes:

  1. Compilación de la biblioteca nativa
  2. Preparación de los metadatos de Xamarin, que permite a las herramientas de Xamarin generar clases de C#
  3. Compilación de una biblioteca de enlaces de Xamarin con la biblioteca nativa y los metadatos
  4. Uso de la biblioteca de enlaces de Xamarin en una aplicación de Xamarin

En las secciones siguientes se describen estos pasos con detalles adicionales.

Compilación de la biblioteca nativa

El primer paso consiste en obtener una biblioteca de Kotlin nativa (un paquete AAR, que es un archivo Android). Puede solicitarla directamente de un proveedor o compilarla usted mismo.

Preparación de los metadatos de Xamarin

El segundo paso consiste en preparar el archivo de transformación de metadatos, que usan las herramientas de Xamarin para generar las clases de C# respectivas. En el mejor caso, este archivo puede estar vacío cuando todas las clases se detectan y se generan mediante las herramientas de Xamarin. En algunos casos, se debe aplicar la transformación de metadatos para generar el código de C# correcto o deseado. En muchos casos, se debe usar un desensamblador AAR, como el descompilador de Java (JD), para identificar las dependencias ocultas y las clases no deseadas que desee excluir de la lista final de clases de C# que se va a generar. Los metadatos finales deben representar la interfaz pública en la que interactuará la aplicación de referencia de Xamarin.Android.

Compilación de una biblioteca de enlaces de Xamarin.Android

El tercer paso consiste en crear un proyecto especial: una biblioteca de enlaces de Xamarin.Android. Incluye las bibliotecas de Kotlin como referencias nativas y la transformación de metadatos definida en el paso anterior. En el momento de redactar este documento, se requiere un proyecto de biblioteca de enlaces de Android independiente para cada paquete de AAR al que se hace referencia. La biblioteca de enlaces debe agregar el paquete Xamarin.Kotlin.StdLib para admitir la biblioteca estándar de Kotlin.

Uso de la biblioteca de enlaces de Xamarin

El cuarto y el último paso consiste en hacer referencia a la biblioteca de enlaces en una aplicación de Xamarin.Android. Al agregar una referencia a la biblioteca de enlaces de Xamarin.Android, la aplicación de Xamarin podrá usar las clases de Kotlin expuestas desde dentro de ese paquete.

Tutorial

En el enfoque anterior se describen los pasos de alto nivel necesarios para crear un enlace de Kotlin para Xamarin. Hay muchos pasos de nivel inferior implicados y otros detalles que se deben tener en cuenta al preparar estos enlaces en la práctica, incluida la adaptación a los cambios en las herramientas y los lenguajes nativos. La intención es ayudarle a obtener una comprensión más profunda de este concepto y de los pasos de alto nivel implicados en este proceso. Para obtener una guía paso a paso detallada, consulte la documentación del tutorial de enlace de Kotlin en Xamarin.