AndroidMavenLibrary
Nota:
Esta característica solo está disponible en .NET 9+.
<AndroidMavenLibrary>
permite especificar un artefacto de Maven que se descargará y agregará automáticamente a un proyecto de enlace de .NET para Android. Esto puede ser útil para simplificar el mantenimiento de los enlaces de .NET para Android para artefactos hospedados en Maven.
Especificación
Un uso básico de <AndroidMavenLibrary>
tiene el siguiente aspecto:
<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
<AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
Esto hará varias cosas en tiempo de compilación:
- Descargue el artefacto de Java con el identificador
com.squareup.okhttp3
de grupo , el identificadorokhttp
de artefacto y la versión4.9.3
de Maven Central en una caché local (si aún no está almacenada en caché). - Agregue el paquete almacenado en caché a la compilación de enlaces de .NET para Android como .
<AndroidLibrary>
- Descargue el archivo POM del artefacto de Java (y los archivos POM primarios o importados necesarios) para habilitar la comprobación de dependencias de Java. Para no participar en esta característica, agregue
VerifyDependencies="false"
al<AndroidMavenLibrary>
elemento.
Tenga en cuenta que solo se agrega el artefacto de Java solicitado a la compilación de enlaces de .NET para Android. No se agregan dependencias de artefacto. Si el artefacto solicitado tiene dependencias, deben cumplirse individualmente.
Opciones
<AndroidMavenLibrary>
el valor predeterminado es usar Maven Central; sin embargo, debe admitir cualquier repositorio de Maven que no requiera autenticación. Esto se puede controlar con el Repository
atributo .
Los valores admitidos son Central
(valor predeterminado), Google
o una dirección URL a otro repositorio de Maven.
<ItemGroup>
<AndroidMavenLibrary
Include="androidx.core:core"
Version="1.9.0"
Repository="Google" />
</ItemGroup>
<ItemGroup>
<AndroidMavenLibrary
Include="com.github.chrisbanes:PhotoView"
Version="2.3.0"
Repository="https://repository.mulesoft.org/nexus/content/repositories/public" />
</ItemGroup>
Además, los atributos aplicados al <AndroidMavenLibrary>
elemento se copiarán en el <AndroidLibrary>
elemento que crea internamente. Por lo tanto, se pueden usar atributos como Bind
y Pack
para controlar el proceso de enlace. (El valor predeterminado es true
.)
<ItemGroup>
<AndroidMavenLibrary
Include="androidx.core:core"
Version="1.9.0"
Repository="Google"
Bind="false"
Pack="false" />
</ItemGroup>