AndroidMavenLibrary

Примечание.

Эта функция доступна только в .NET 9+.

<AndroidMavenLibrary> позволяет указать артефакт Maven, который будет автоматически скачан и добавлен в проект привязки .NET для Android. Это может быть полезно для упрощения обслуживания привязок .NET для Android для артефактов, размещенных в Maven.

Спецификация

Базовое использование <AndroidMavenLibrary> выглядит следующим образом:

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

Это позволит выполнить несколько действий во время сборки:

  • Скачайте артефакт Java с идентификатором группы com.squareup.okhttp3, идентификатором артефакта okhttp, и версией 4.9.3 из Maven Central в локальный кэш (если он еще не кэширован).
  • Добавьте кэшированный пакет в сборку привязок .NET для Android в качестве <AndroidLibrary>.
  • Скачайте POM-файл артефакта Java (и все необходимые родительские и импортированные POM-файлы), чтобы включить верификацию зависимостей Java. Чтобы отказаться от этой функции, добавьте VerifyDependencies="false" в элемент <AndroidMavenLibrary>.

Обратите внимание, что в сборку привязок .NET для Android добавляется только запрошенный артефакт Java. Зависимости артефактов не добавляются. Если у запрошенного компонента есть зависимости, они должны удовлетворяться по отдельности.

Параметры

<AndroidMavenLibrary> По умолчанию используется Maven Central, однако он должен поддерживать любой репозиторий Maven, который не требует проверки подлинности. Это можно контролировать с помощью атрибута Repository .

Поддерживаемые значения: Central (по умолчанию) Googleили URL-адрес другого репозитория 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>

Кроме того, все атрибуты, примененные к элементу <AndroidMavenLibrary>, будут скопированы во внутренний элемент <AndroidLibrary>, который он создает. Таким образом, атрибуты , подобные Bind и Pack могут использоваться для управления процессом привязки. (Оба по умолчанию — true.)

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