Enlace de un proyecto de biblioteca de Eclipse

Importante

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

En este tutorial se explica cómo usar las plantillas de proyecto de Xamarin.Android para enlazar un proyecto de biblioteca de Android de Eclipse.

Información general

Aunque los archivos .AAR son, cada día más, la norma, para la distribución de la biblioteca de Android, en algunos casos, es necesario crear un enlace para un proyecto de biblioteca de Android. Los proyectos de biblioteca de Android son proyectos especiales de Android que contienen código que se puede compartir y recursos a los que pueden hacer referencia los proyectos de aplicaciones de Android. Normalmente, se enlaza a un proyecto de biblioteca de Android cuando se crea la biblioteca en el IDE de Eclipse. En este tutorial se proporcionan ejemplos de cómo crear un archivo ZIP de proyecto de biblioteca de Android a partir de la estructura de directorios de un proyecto de Eclipse.

Los proyectos de biblioteca de Android son diferentes de otros proyectos de Android en que no se compilan en un APK y no se pueden implementar por sí mismos en un dispositivo. En su lugar, se debe hacer referencia a un proyecto de biblioteca de Android mediante un proyecto de aplicación de Android. Cuando se compila un proyecto de aplicación de Android, primero se compila el proyecto de biblioteca de Android. A continuación, el proyecto de aplicación de Android se absorberá en el proyecto de biblioteca de Android compilado e incluirá el código y los recursos en el APK para su distribución. Debido a esta diferencia, la creación de un enlace para un proyecto de biblioteca de Android es ligeramente diferente de la creación de un enlace para un archivo .AAR o .JAR de Java.

Tutorial

Para usar un proyecto de biblioteca de Android en un proyecto de enlace de Java de Xamarin.Android, antes es necesario compilar el proyecto de biblioteca de Android en Eclipse. En la captura de pantalla siguiente se muestra un ejemplo de un proyecto de biblioteca de Android después de la compilación:

Example library project in Eclipse

Observe que el código fuente del proyecto de biblioteca de Android se ha compilado en un archivo .JAR temporal denominado android-mapviewballoons.jar y que los recursos se han copiado a la carpeta bin/res/crunch.

Una vez compilado el proyecto de biblioteca de Android en Eclipse, se puede enlazar mediante un proyecto de enlace de Java de Xamarin.Android. En primer lugar, se debe crear un archivo ZIP que contenga las carpetas bin y res del proyecto de biblioteca de Android. Es importante que quite el subdirectorio intermedio crunch para que los recursos residan en bin/res. En la captura de pantalla siguiente se muestra el contenido de uno de estos archivos ZIP:

Contents of Android library project .zip

A continuación, el archivo ZIP se agrega al proyecto de enlace de Java de Xamarin.Android, como se muestra en la siguiente captura de pantalla:

Zip added to Java Binding project

Observe que la acción de compilación del archivo ZIP se ha establecido automáticamente en LibraryProjectZip.

Si hay algún archivo .JAR que el proyecto de biblioteca de Android necesite, se debe agregar a la carpeta Jars del proyecto de biblioteca de enlace de Java y la Acción de compilación se debe establecer en ReferenceJar. En la siguiente captura de pantalla se observa un ejemplo:

Build action set to ReferenceJar

Una vez completados estos pasos, el proyecto de enlace de Java de Xamarin.Android se puede usar tal y como se describió anteriormente en este documento.

Nota:

En este momento, no se admite la compilación de proyectos de biblioteca de Android en otros IDE. Es posible que otros IDE no creen la misma estructura de directorios o archivos en la carpeta bin que Eclipse.

Resumen

En este artículo se explica el proceso de enlazar un proyecto de biblioteca de Android. Hemos creado el proyecto de biblioteca de Android en Eclipse y, luego, hemos creado un archivo ZIP a partir de las carpetas bin y res del proyecto de biblioteca de Android. A continuación, usamos este archivo ZIP para crear un proyecto de enlace de Java de Xamarin.Android.