Creación de aplicaciones de Xamarin para Android

Importante

Visual Studio App Center está programado para retirarse el 31 de marzo de 2025. Aunque puede seguir usando Visual Studio App Center hasta que se retire por completo, hay varias alternativas recomendadas a las que puede considerar la posibilidad de migrar.

Obtenga más información sobre las escalas de tiempo y las alternativas de soporte técnico.

Para empezar a compilar la primera aplicación de Xamarin Android, debe hacer lo siguiente:

  1. Conéctese a la cuenta de servicio del repositorio (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Seleccione un repositorio y una rama donde reside la aplicación.
  3. Elija el proyecto de Android que desea compilar.
  4. Configure la primera compilación.

Nota

Para que la aplicación se ejecute en un dispositivo real, debe firmar la compilación con un almacén de claves válido.

1. Vinculación del repositorio

Si no se ha conectado previamente a la cuenta de servicio del repositorio, primero debe hacerlo. Una vez conectada la cuenta, seleccione el repositorio donde se encuentra el proyecto de Xamarin. Debe tener permisos de administrador y extracción para configurar una compilación para un repositorio.

2. Selección de una rama

Después de seleccionar un repositorio, seleccione la rama que desea compilar. De forma predeterminada, App Center enumera todas las ramas activas.

3. Configuración de la compilación

El proyecto de Xamarin debe configurarse antes de la primera compilación.

3.1. Desencadenadores de compilación

De forma predeterminada, el servicio de compilación usa la integración continua, por lo que se desencadena una nueva compilación cada vez que un desarrollador inserta en una rama configurada. Si prefiere desencadenar nuevas compilaciones manualmente, puede cambiar esta configuración en el panel de configuración.

3.2. Proyecto y configuración

Los proyectos disponibles en el repositorio se rellenarán si se encuentran dentro del intervalo de análisis. Seleccione el proyecto correcto para la compilación de Android y seleccione la configuración adecuada.

Nota

Para obtener el mejor rendimiento, el análisis se limita actualmente a cuatro niveles de directorio, incluida la raíz del repositorio.

3.3. Versión mono

App Center permite usar diferentes entornos mono agrupados con el SDK de Xamarin.Android correspondiente para las compilaciones. De esta manera, mantenemos la compatibilidad con versiones anteriores y también se admiten las características más recientes. La versión predeterminada de Mono para una nueva configuración de rama es la más reciente estable. Puede optar por usar uno de los entornos mono anteriores para crear versiones anteriores de marcos o bibliotecas.

Al seleccionar una versión de Mono en la configuración de compilación, la versión agrupada del SDK de Xamarin.Android se muestra justo al lado. Para más información sobre las actualizaciones de la versión del SDK de Xamarin, lea el blog de la versión de Xamarin.

3.3.1. Versión de .NET Core

La versión correcta de .NET Core se seleccionará automáticamente en función de la versión mono usada para la compilación y no se puede sobrescribir. Puede ver la asignación de Mono a .NET Core que usan nuestros servicios en la tabla siguiente:

Mono .NET Core
<= 5,18 2.2.105
6.0 2.2.300
6.4 3.0.100
6.6 3.1.100
6,8 3.1.200
6.10 3.1.300
6.12 3.1.401

3.4. Compilación del paquete de aplicaciones de Android (.aab)

El paquete de aplicaciones de Android es un formato de distribución que se usa para generar API optimizadas para dispositivos específicos. Se puede cargar en Play Store. Puede obtener más información sobre el paquete de aplicaciones de Android en la documentación oficial de Android y las notas de la versión de Xamarin.Android 9.4, que también pueden ayudarle a decidir si desea crear una agrupación junto con su paquete normal. .apk.

Active la opción para que El lote de aplicaciones de Android genere y .aab ..apk Si el .csproj archivo contiene aab en la AndroidPackageFormat propiedad , esta opción se activará automáticamente. La creación de un .aab elemento es compatible con Xamarin.Android 9.4 y versiones posteriores.

3.5. Incrementar el número de versión

Cuando se habilita, el código de versión de la AndroidManifest.xml de la aplicación aumenta automáticamente para cada compilación. El cambio se produce antes de la compilación y no se confirmará en el repositorio.

3.6. Firma de código

Una compilación correcta generará un .apk archivo y un archivo adicional .aab si está habilitado. Para liberar la compilación en Play Store, debe estar firmada con un almacén de claves y un alias válidos. Para firmar las compilaciones generadas desde una rama, habilite el inicio de sesión de código en el panel de configuración, cargue el almacén de claves y proporcione los valores necesarios en el panel de configuración. Puede leer instrucciones de firma de código más detalladas. .aab Se firmará con las mismas credenciales que ..apk

3.7. Iniciar la compilación correcta en un dispositivo real

Usa el archivo recién generado .apk para probar si la aplicación se inicia en un dispositivo real. Esto agrega aproximadamente 10 minutos más al tiempo de compilación total. Hay más información en nuestra guía de integración de pruebas.

3.8. NuGet restore

Si el NuGet.config archivo está protegido en el repositorio y se encuentra junto al .sln archivo o en el nivel raíz del repositorio, App Center restaura las fuentes de NuGet privadas cuando se agregan como se muestra en el ejemplo siguiente. Las credenciales se pueden agregar de forma segura mediante variables de entorno:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget" value="https://api.nuget.org/v3/index.json" />
    <add key="MyGet" value="https://www.myget.org/F/MyUsername/api/v2/index.json" />
    <add key="MyAuthNuget" value="https://nuget.example.com/v2/index.json" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSourceCredentials>
    <MyAuthNuget>
      <add key="Username" value="$USER_VARIABLE" />
      <add key="ClearTextPassword" value="$PASSWORD_VARIABLE" />
    </MyAuthNuget>
  </packageSourceCredentials>
</configuration>

Si tiene configuraciones complejas y necesita más información, consulte Configuración del comportamiento de NuGet.

3.9. Distribuir la compilación

Puede configurar cada compilación correcta desde una rama para distribuirla a un grupo de distribución creado anteriormente o a un destino de almacén. Puede agregar un nuevo grupo de distribución o configurar una conexión de almacén desde el servicio Distribute. Siempre hay un grupo de distribución predeterminado denominado "Colaboradores" que incluye todos los usuarios que tienen acceso a la aplicación.

Nota

Si se distribuye a Google Play Store, se prefiere un paquete de aplicaciones de Android (.aab) y se distribuirá si está habilitado. En el caso de los grupos de distribución de App Center y Intune destinos de la tienda, se usará un valor normal .apk incluso si también se genera ..aab

4. Resultados de la compilación

Después de los desencadenadores de compilación, la compilación estará en uno de los siguientes estados:

  • en cola : la compilación está en una cola en espera de que los recursos se libere.
  • building : la compilación se está ejecutando.
  • correcto: la compilación se completó correctamente.
  • failed : la compilación se detuvo con errores. Puede solucionar los problemas que se han producido al descargar e inspeccionar el registro de compilación.
  • cancelado: una acción del usuario canceló la compilación o agotó el tiempo de espera.

4.1. Registros de compilación

Para una compilación completada (correcta o errónea), descargue los registros para obtener más información sobre cómo se ha producido la compilación. App Center proporciona un archivo con los siguientes archivos:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1>
    |-- <build-step-2>
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Los registros del paso de compilación (ubicados en el build/ directorio del archivo) son útiles para comprender en qué paso y por qué se produjo un error en la compilación.

4.2. La aplicación (.apk)

El .apk archivo es un archivo empaquetado de aplicación Android que almacena la aplicación Android. Si la compilación se ha firmado correctamente, el .apk archivo se puede instalar en un dispositivo real e implementarlo en Play Store. Si la compilación no se ha firmado, la aplicación se puede ejecutar en un emulador o usarse con otros fines.

Versiones y requisitos admitidos

App Center admite proyectos portables de biblioteca de clases (PCL) y .NET Standard . Consulte Cloud Build Machines para ver las versiones de .NET Standard.

App Center no admite componentes del almacén de componentes de Xamarin y se recomienda usar paquetes NuGet siempre que estén disponibles. Si usa un componente que no se puede reemplazar, póngase en contacto con nosotros. Consulte la ayuda y los comentarios.