Personalización de enlaces
Se puede personalizar un enlace de Xamarin.Android editando los metadatos que controlan el proceso de enlace. Estas modificaciones manuales suelen ser necesarias para resolver errores de compilación y para dar forma a la API resultante para que sea más coherente con C# o .NET. En estas guías se explica la estructura de estos metadatos, cómo modificar los metadatos y cómo usar JavaDoc para recuperar los nombres de los parámetros del método.
Información general
Xamarin.Android automatiza gran parte del proceso de enlace; sin embargo, en algunos casos, se requiere una modificación manual para solucionar los problemas siguientes:
La resolución de errores de compilación causados por tipos que faltan, tipos ofuscados, nombres duplicados, problemas de visibilidad de clases y otras situaciones que las herramientas de Xamarin.Android no pueden resolver.
El cambio de la asignación que Xamarin.Android usa para enlazar la API de Android a tipos diferentes en C# (por ejemplo, muchos desarrolladores prefieren asignar las constantes
int
de Java a las constantesenum
de C#).La eliminación de los tipos no usados que no es necesario enlazar.
La adición de tipos que no tienen homólogos en la API de Java subyacente.
Puede realizar algunos o todos estos cambios modificando los metadatos que controlan el proceso de enlace.
Guides
En las guías siguientes se describen los metadatos que controlan el proceso de enlace y se explica cómo modificarlos para solucionar estos problemas:
En los Metadatos de enlaces de Java se proporciona una visión general de los metadatos que pasan van en un enlace de Java. Se describen los distintos pasos manuales que a veces se requieren para completar una biblioteca de enlaces de Java, y explica cómo dar forma a una API expuesta por un enlace para seguir más estrechamente las instrucciones de diseño de .NET.
En Nomenclatura de parámetros con Javadoc se explica cómo recuperar nombres de parámetros en un proyecto de enlace de Java mediante el uso del Javadoc generado a partir del proyecto de Java enlazado.