AndroidMavenLibrary

Anmärkning

Den här funktionen är endast tillgänglig i .NET 9+.

<AndroidMavenLibrary> tillåter att en Maven-artefakt anges som automatiskt laddas ned och läggs till i ett .NET för Android-bindningsprojekt. Detta kan vara användbart för att förenkla underhållet av .NET för Android-bindningar för artefakter som finns i Maven.

Specifikation

En grundläggande användning av <AndroidMavenLibrary> ser ut så här:

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>

Detta kommer att göra flera saker vid byggtiden:

  • Ladda ned Java-artefakten med grupp-ID com.squareup.okhttp3, artefakt-ID okhttpoch version 4.9.3 från Maven Central till en lokal cache (om den inte redan har cachelagrats).
  • Lägg till det cachelagrade paketet i .NET för Android-bindningar som en <AndroidLibrary>.
  • Ladda ned Java-artefaktens POM-fil (och eventuella nödvändiga överordnade/importerade POM-filer) för att aktivera Java-beroendeverifiering. Om du vill avregistrera dig från den här funktionen lägger du till VerifyDependencies="false" i objektet <AndroidMavenLibrary> .

Observera att endast den begärda Java-artefakten läggs till i .NET för Android-bindningarna. Artefaktberoenden läggs inte till. Om den begärda artefakten har beroenden måste de uppfyllas individuellt.

Alternativ

<AndroidMavenLibrary> använder Maven Central som standard, men bör ha stöd för alla Maven-lagringsplatser som inte kräver autentisering. Detta kan styras med attributet Repository .

Värden som stöds är Central (standard), Googleeller en URL till en annan Maven-lagringsplats.

<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>

Dessutom kopieras alla attribut som tillämpas på elementet <AndroidMavenLibrary> till det <AndroidLibrary> som skapas internt. Därför kan attribut som Bind och Pack användas för att styra bindningsprocessen. (Båda standardvärdena är true.)

<ItemGroup>
  <AndroidMavenLibrary 
    Include="androidx.core:core" 
    Version="1.9.0" 
    Repository="Google"
    Bind="false"
    Pack="false" />
</ItemGroup>