注意
此功能僅適用於 .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、工件 IDokhttp和版本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>