AndroidMavenLibrary
Hinweis
Dieses Feature ist nur in .NET 9+ verfügbar.
<AndroidMavenLibrary>
ermöglicht die Angabe eines Maven-Artefakts, das automatisch heruntergeladen und einem .NET für Android-Bindungsprojekt hinzugefügt wird. Dies kann hilfreich sein, um die Wartung von .NET für Android-Bindungen für Artefakte zu vereinfachen, die in Maven gehostet werden.
Spezifikation
Eine einfache Verwendung sieht <AndroidMavenLibrary>
wie folgt aus:
<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
<AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
Dies führt zur Erstellungszeit mehrere Aktionen aus:
- Laden Sie das Java-Artefakt mit Gruppen-ID, Artefakt-ID
com.squareup.okhttp3
okhttp
und Version4.9.3
von Maven Central in einen lokalen Cache herunter (falls noch nicht zwischengespeichert). - Fügen Sie das zwischengespeicherte Paket zu .NET für Android-Bindungen als Build hinzu
<AndroidLibrary>
. - Laden Sie die POM-Datei des Java-Artefaktes (und alle erforderlichen übergeordneten/importierten POM-Dateien) herunter, um die Java-Abhängigkeitsüberprüfung zu aktivieren. Um dieses Feature zu deaktivieren, fügen Sie
VerifyDependencies="false"
das<AndroidMavenLibrary>
Element hinzu.
Beachten Sie, dass nur das angeforderte Java-Artefakt dem Build .NET für Android-Bindungen hinzugefügt wird. Alle Artefaktabhängigkeiten werden nicht hinzugefügt. Wenn das angeforderte Artefakt Abhängigkeiten aufweist, müssen sie einzeln erfüllt werden.
Optionen
<AndroidMavenLibrary>
standardmäßig maven Central zu verwenden, sollte jedoch jedes Maven-Repository unterstützen, das keine Authentifizierung erfordert. Dies kann mit dem Repository
Attribut gesteuert werden.
Unterstützte Werte sind Central
(Standard) Google
oder eine URL zu einem anderen Maven-Repository.
<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>
Darüber hinaus werden alle Attribute, die auf das <AndroidMavenLibrary>
Element angewendet werden, intern in das <AndroidLibrary>
Element kopiert. Daher können Attribute wie Bind
und Pack
zum Steuern des Bindungsprozesses verwendet werden. (Beide Standardeinstellung ist true
.)
<ItemGroup>
<AndroidMavenLibrary
Include="androidx.core:core"
Version="1.9.0"
Repository="Google"
Bind="false"
Pack="false" />
</ItemGroup>