AndroidMavenLibrary

注意

此功能僅適用於 .NET 9+。

<AndroidMavenLibrary> 允許您指定將自動下載並新增至 .NET for Android 綁定專案的 Maven 工件。 對於裝載於 Maven 中的成品,簡化 .NET for Android 系結的維護相當實用。

規格

的基本用法 <AndroidMavenLibrary> 如下所示:

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

這會在建置階段執行數件事:

  • 將 Java 工件與群組 ID com.squareup.okhttp3、工件 ID okhttp和版本 4.9.3從 Maven Central 下載到本地快取(如果尚未快取)。
  • 將快取的套件新增為 .NET for Android 綁定構建中的 <AndroidLibrary>。
  • 下載 Java 成品的 POM 檔案(以及任何必要的父/匯入 POM 檔案),以啟用 Java 相依性驗證。 若要停用此功能,請在<AndroidMavenLibrary>項目中加入VerifyDependencies="false"。

請注意,只有要求的 Java 構件會新增至 .NET for Android 繫結組建。 不新增任何工件相依性。 如果要求的成品具有相依性,則必須個別完成它們。

選項

<AndroidMavenLibrary> 默認為使用 Maven Central,不過它應該支援任何不需要驗證的 Maven 存放庫。 這可以使用 屬性來控制 Repository 。

支援的值是 Central(預設值)、 Google,或另一個 Maven 存放庫的 URL。

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