Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Položky sestavení určují, jak se sestaví projekt aplikace nebo knihovny .NET pro Android.
Zadají se v souboru projektu, například MyApp.csproj, v rámci MSBuild ItemGroup.
Poznámka:
V .NET pro Android není technicky žádný rozdíl mezi aplikací a projektem vazeb, takže položky sestavení budou fungovat v obou. V praxi se důrazně doporučuje vytvářet samostatné projekty aplikací a vazeb. Položky sestavení, primárně používané v projektech vazeb, jsou zdokumentovány v referenční příručce položky projektu MSBuild pro vazby.
Artefakt aplikace
@(ApplicationArtifact) obsahuje konečné soubory artefaktů aplikace vytvořené balíčkem, podepisováním a publikováním cílů. Tuto skupinu položek můžou vlastní cíle MSBuild použít k zjištění výstupních souborů APK a Android App Bundle bez nutnosti znovu vypočítávat konečné názvy souborů. .NET pro Android naplní tuto skupinu položek artefakty specifickými pro Android a ostatní mobilní platformy .NET můžou pro konečné artefakty aplikace použít stejný název položky.
Každá položka obsahuje následující metadata:
-
%(ApplicationId): Název balíčku z finálně sloučeného AndroidManifest.xml. -
%(ApplicationTitle): Hodnotaandroid:labelz konečného sloučeného manifestu. -
%(ApplicationName): Stejná konečná hodnota manifestuandroid:labeljako%(ApplicationTitle). -
%(ApplicationDisplayVersion): Hodnotaandroid:versionNamez konečného sloučeného manifestu. -
%(ApplicationVersion): Hodnotaandroid:versionCodez konečného sloučeného manifestu. -
%(PackageFormat):apkneboaab. -
%(Signed):truekdyž je balíček podepsán. -
%(PackageId): Určený název balíčku Android, který je také dostupný jako%(ApplicationId). -
%(Abi): ABI Androidu pro výstup APK pro jednotlivá ABI. Tato metadata jsou nastavena pouze pro APK pro jednotlivá ABI.
Konečný sloučený manifest je autoritativní pro běžná metadata aplikace. Jeho hodnoty mají přednost před vlastnostmi projektu, jako jsou $(ApplicationId), $(ApplicationTitle), $(ApplicationDisplayVersion) a $(ApplicationVersion). To platí také pro vlastní manifesty a projekty, které nastavují $(GenerateApplicationManifest) na false.
Popisky aplikací založené na prostředcích se vrátí beze změny. Například hodnota @string/app_name pro android:label vytvoří ApplicationTitle="@string/app_name" a ApplicationName="@string/app_name"; sestavení nevybere ani neurčí hodnotu prostředku specifickou pro národní nastavení.
Nástroj MSBuild také poskytuje dobře známá metadata pro každou položku. Je to například %(Filename)%(Extension) název souboru balíčku a %(FullPath) je úplná cesta k balíčku.
Použijte cíl GetApplicationArtifacts, když se jiný cíl potřebuje přímo dotazovat na artefakty aplikace.
Cíle připojené k $(GetApplicationArtifactsDependsOn) se spouštějí poté, co .NET for Android naplní tuto skupinu položek, takže mohou předtím, než je vrátí GetApplicationArtifacts nebo Publish, aktualizovat stávající položky o další metadata.
Například:
<Target Name="WriteApplicationArtifacts" AfterTargets="Publish">
<WriteLinesToFile
File="$(PublishDir)application-artifacts.txt"
Lines="@(ApplicationArtifact->'%(FullPath)|%(Filename)%(Extension)|%(PackageFormat)|%(Signed)|%(PackageId)|%(Abi)|%(ApplicationTitle)|%(ApplicationDisplayVersion)|%(ApplicationVersion)')"
Overwrite="true" />
</Target>
Android Další Java Manifest
<AndroidAdditionalJavaManifest> se používá ve spojení s řešením závislostí Java k určení dalších souborů POM, které budou potřeba k ověření závislostí.
Často se jedná o nadřazené nebo importované soubory POM, na které odkazuje soubor POM knihovny Java.
<ItemGroup>
<AndroidAdditionalJavaManifest Include="mylib-parent.pom" JavaArtifact="com.example:mylib-parent" JavaVersion="1.0.0" />
</ItemGroup>
Jsou vyžadována následující metadata nástroje MSBuild:
-
%(JavaArtifact): Skupina a ID artefaktu knihovny Java odpovídající specifikovanému souboru POM ve formátu{GroupId}:{ArtifactId}. -
%(JavaVersion): Verze knihovny Java odpovídající zadanému souboru POM.
Další podrobnosti najdete v dokumentaci k řešení závislostí Java .
Tato akce sestavení byla zavedena v .NET 9.
AndroidAsset
Podporuje Android Assets, soubory, které by byly zahrnuty do assets složky v projektu Java Android.
Počínaje verzí .NET 9 akce sestavení @(AndroidAsset) také podporuje další metadata pro generování Asset Packs. Metadata %(AndroidAsset.AssetPack) lze použít k automatickému vygenerování balíčku prostředků stejného názvu. Tato funkce je podporována pouze v případě, že je $(AndroidPackageFormat) nastavena na hodnotu .aab. Následující příklad umístí movie2.mp4 a movie3.mp4 do samostatných balíčků prostředků.
<ItemGroup>
<AndroidAsset Update="Asset/movie.mp4" />
<AndroidAsset Update="Asset/movie2.mp4" AssetPack="assets1" />
<AndroidAsset Update="Asset/movie3.mp4" AssetPack="assets2" />
</ItemGroup>
Tuto funkci můžete použít k zahrnutí velkých souborů do aplikace, které by normálně překročily maximální limity velikosti balíčku Google Play.
Pokud máte velký počet prostředků, může být efektivnější využít base balíček prostředků.
V tomto scénáři aktualizujete všechny prostředky tak, aby byly v jednom balíčku prostředků, a pak pomocí AssetPack="base" metadat deklarujte, které konkrétní prostředky končí v základním souboru aab. Pomocí těchto zástupných znaků můžete přesunout většinu prostředků do balíčku prostředků.
<ItemGroup>
<AndroidAsset Update="Assets/*" AssetPack="assets1" />
<AndroidAsset Update="Assets/movie.mp4" AssetPack="base" />
<AndroidAsset Update="Assets/some.png" AssetPack="base" />
</ItemGroup>
V tomto příkladu movie.mp4 a some.png skončí v souboru base aab, zatímco všechny ostatní zdroje skončí v balíčku assets1 zdrojů.
Další metadata jsou podporována pouze v .NET pro Android 9 a novější.
AndroidAarLibrary
Akce AndroidAarLibrary sestavení by se měla použít k přímému odkazování .aar na soubory. Tato akce sestavení bude nejčastěji používána komponentami Xamarin. Konkrétně zahrnout odkazy na .aar soubory, které jsou nutné k tomu, aby Google Play a další služby fungovaly.
Soubory s touto akcí sestavení budou zpracovány podobným způsobem jako vložené prostředky nalezené v knihovních projektech. Extrahuje .aar se do zprostředkujícího adresáře. Pak se jakákoli aktiva, prostředky a .jar soubory zahrnou do příslušných skupin položek.
AndroidAotProfile
Slouží k poskytnutí profilu Mono AOT pro profilované AOT v podporovaných projektech .NET 10 a starších, které používají Mono.
Tato položka se spotřebovává, když
$(AndroidEnableProfiledAot) je true. Nejedná se o profil MIBC ani dynamický vstup PGO.
Lze jej také použít z prostředí Visual Studia nastavením možnosti AndroidAotProfile Build Action u souboru obsahujícího profil Mono AOT.
AndroidAppBundleMetaDataFile
Určuje soubor, který bude součástí sady aplikací pro Android jako metadata.
Formát hodnoty příznaku je <bundle-path>:<physical-file> místo, kde bundle-path označuje umístění souboru v adresáři metadat sady aplikací a physical-file je existující soubor obsahující nezpracovaná data, která se mají uložit.
<ItemGroup>
<AndroidAppBundleMetaDataFile
Include="com.android.tools.build.obfuscation/proguard.map:$(OutputPath)mapping.txt"
/>
</ItemGroup>
Další podrobnosti najdete v dokumentaci k nástroji bundletool .
AndroidBoundLayout
Označuje, že soubor rozložení má mít pro něj vygenerovaný code-behind v případě, že je vlastnost $(AndroidGenerateLayoutBindings) nastavena na false hodnotu. Ve všech ostatních aspektech je stejný jako AndroidResource.
Tuto akci lze použít pouze se soubory rozložení:
<AndroidBoundLayout Include="Resources\layout\Main.axml" />
AndroidEnvironment
Soubory s akcí AndroidEnvironment sestavení se používají k inicializaci proměnných prostředí a systémových vlastností během spouštění procesu.
AndroidEnvironment Akce Sestavení se může použít u více souborů a vyhodnotí se v žádném konkrétním pořadí (proto nezadávejte stejnou proměnnou prostředí nebo systémovou vlastnost ve více souborech).
AndroidGradleProject
<AndroidGradleProject> lze použít k sestavení a využívání výstupů projektů Android Gradle vytvořených v Android Studio nebo jinde.
Metadata Include by měla odkazovat na nejvyšší úroveň build.gradle nebo build.gradle.kts soubor, který se použije k sestavení projektu. Najdete ho v kořenovém adresáři projektu Gradle, který by měl také obsahovat obálkové skripty.
<ItemGroup>
<AndroidGradleProject Include="path/to/project/build.gradle.kts" ModuleName="mylibrary" />
</ItemGroup>
Podporují se následující metadata nástroje MSBuild:
-
%(Configuration): Název konfigurace, která se má použít k sestavení nebo montáži uvedeného projektu nebo jeho modulu. Výchozí hodnota jeRelease. -
%(ModuleName): Název modulu nebo dílčího projektu , který by se měl sestavit. Výchozí hodnota je prázdná. -
%(OutputPath): Lze nastavit tak, aby přepsala výstupní cestu sestavení projektu Gradle. Výchozí hodnota je$(IntermediateOutputPath)gradle/%(ModuleName)%(Configuration)-{Hash}. -
%(CreateAndroidLibrary): Výstupní soubory AAR budou přidány jakoAndroidLibraryprojektu. Metadata podporovaná jako<AndroidLibrary>,%(Bind)nebo%(Pack)se přeposílají, pokud jsou nastavena. Výchozí hodnota jetrue.
Tato akce sestavení byla zavedena v .NET 9.
AndroidJavaLibrary
Soubory s akcí sestavení AndroidJavaLibrary jsou archivy Java (soubory .jar), které budou zahrnuty do konečného Android balíčku.
AndroidIgnoredJavaDependency (Java Závislost Ignorovaná Androidem)
<AndroidIgnoredJavaDependency> se používá ve spojení s řešením závislostí Java.
Slouží k určení závislosti v Javě, která by se měla ignorovat. To se dá použít, pokud bude závislost splněna způsobem, který nedokáže rozpoznat rozlišení závislostí v Javě.
<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
<AndroidIgnoredJavaDependency Include="com.google.errorprone:error_prone_annotations" Version="2.15.0" />
</ItemGroup>
Jsou vyžadována následující metadata nástroje MSBuild:
-
%(Version): Verze knihovny Java odpovídající zadanému%(Include).
Další podrobnosti najdete v dokumentaci k řešení závislostí Java .
Tato akce sestavení byla zavedena v .NET 9.
AndroidJavaSource
Soubory s akcí sestavení AndroidJavaSource jsou zdrojové kódy Java, které budou součástí konečného balíčku Android.
Počínaje rozhraním .NET 7, mají všechny **\*.java soubory v adresáři projektu automaticky akci AndroidJavaSource Sestavení a budou zahrnuty před sestavením. Umožňuje kódu jazyka C# snadno používat typy a členy, které jsou přítomné v souborech **\*.java .
Pokud chcete toto chování zakázat, nastavte %(AndroidJavaSource.Bind) na hodnotu False.
AndroidLibrary
AndroidLibrary je nová akce sestavení, která zjednodušuje způsob zahrnutí souborů .jar a .aar do projektů.
Libovolný projekt může zadat:
<ItemGroup>
<AndroidLibrary Include="foo.jar" />
<AndroidLibrary Include="bar.aar" />
</ItemGroup>
Výsledek výše uvedeného fragmentu kódu má jiný účinek pro každý typ projektu .NET pro Android:
- Projekty knihoven pro aplikace a třídy:
-
foo.jarse přiřazuje k AndroidJavaLibrary. -
bar.aarmapuje na AndroidAarLibrary.
-
- Projekty vazeb Java:
-
foo.jarmapuje na EmbeddedJar. -
foo.jarmapuje na EmbeddedReferenceJar , pokudBind="false"jsou přidána metadata. -
bar.aarse mapuje na LibraryProjectZip.
-
Toto zjednodušení znamená, že androidLibrary můžete používat všude.
AndroidLintConfig
Akce sestavení 'AndroidLintConfig' by měla být použita ve spojení s akcí
$(AndroidLintEnabled) vlastnost. Soubory s touto akcí kompilace se sloučí a předají do nástrojů Android lint. Měly by se jednat o soubory XML obsahující informace o testech, které se mají povolit a zakázat.
Další podrobnosti najdete v dokumentaci lint .
AndroidManifestOverlay
Akci AndroidManifestOverlay sestavení lze použít k tomu, aby poskytla soubory AndroidManifest.xml nástroji Manifest Merger.
Soubory s touto akcí sestavení budou předány nástroji Manifest Merger společně s hlavním AndroidManifest.xml souborem a manifestovými soubory z odkazů. Ty se pak sloučí do konečného manifestu.
Tuto akci sestavení můžete použít ke změnám a nastavením aplikace v závislosti na její konfiguraci sestavení. Pokud například potřebujete mít konkrétní oprávnění pouze při ladění, můžete toto oprávnění vložit pomocí překrytí při ladění. Například s následujícím obsahem překryvného souboru:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.CAMERA" />
</manifest>
K přidání manifestového překrytí pro účely ladění můžete použít následující:
<ItemGroup>
<AndroidManifestOverlay Include="DebugPermissions.xml" Condition=" '$(Configuration)' == 'Debug' " />
</ItemGroup>
AndroidInstallModules
Určuje moduly, které se nainstalují příkazem bundletool při instalaci sad aplikací.
AndroidMavenLibrary
<AndroidMavenLibrary> umožňuje zadat artefakt Mavenu, který se automaticky stáhne a přidá do projektu vazby .NET pro Android.
To může být užitečné ke zjednodušení údržby vazeb .NET pro Android pro artefakty hostované v Mavenu.
<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
<AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
Podporují se následující metadata nástroje MSBuild:
-
%(Version): Požadovaná verze knihovny Java, na kterou%(Include)odkazuje . -
%(Repository): Volitelné úložiště Maven, které se má použít. Podporované hodnoty jsouCentral(výchozí)Googlenebohttpsadresa URL úložiště Maven. -
%(AllowInsecureHttp): Volitelná logická hodnota. Pokud je%(Repository)adresa URLhttp://, musí být toto nastaveno natrue, aby bylo povoleno nezabezpečené připojení. Výchozí hodnota jefalse. Pro zabezpečení dodavatelského řetězce se důrazně doporučuje používat HTTPS.
Položka <AndroidMavenLibrary> se přeloží do AndroidLibrary, takže všechna metadata podporovaná <AndroidLibrary> tímto způsobem %(Bind) nebo %(Pack) jsou také podporována.
Další podrobnosti najdete v dokumentaci k AndroidMavenLibrary .
Tato akce sestavení byla zavedena v .NET 9.
AndroidNativeLibrary
Nativní knihovny se přidají do sestavení nastavením akce sestavení na AndroidNativeLibrary.
Všimněte si, že vzhledem k tomu, že Android podporuje více binárních rozhraní aplikací (ABI), musí systém sestavení znát ABI nativní knihovnu, pro kterou je sestavena. Existují dva způsoby, jak lze zadat ABI:
- Cesta "sniffingu".
- Použití metadat položky
%(Abi)
Při sniffingu cesty se k určení ABI, na které knihovna cílí, používá název nadřazeného adresáře nativní knihovny. Pokud tedy přidáte lib/armeabi-v7a/libfoo.so do sestavení, ABI bude "detekováno" jako armeabi-v7a.
Název atributu položky
Abi – Určuje ABI nativní knihovny.
<ItemGroup>
<AndroidNativeLibrary Include="path/to/libfoo.so">
<Abi>armeabi-v7a</Abi>
</AndroidNativeLibrary>
</ItemGroup>
AndroidNativeLibraryNoJniPreload
Každá nativní knihovna, která je součástí této skupiny položek, bude vyloučena z mechanismu předběžného načtení knihovny JNI. Ve výchozím nastavení budou všechny tyto knihovny načteny modulem runtime v rané fázi spouštění aplikace, aby se zajistila jejich správná inicializace. V některých případech to ale nemusí být požadované chování a tato skupina položek umožňuje vyloučení knihoven z tohoto procesu jednotlivě.
Některé knihovny architektury, které musí být načteny při spuštění aplikace, nebudou ovlivněny, pokud jsou zahrnuty do této skupiny položek.
Viz také $(AndroidIgnoreAllJniPreload)
AndroidPackagingOptionsExclude
Sada položek kompatibilních se souborovým globem, které umožní vyloučit položky z konečného balíčku. Výchozí hodnoty jsou následující:
<ItemGroup>
<AndroidPackagingOptionsExclude Include="DebugProbesKt.bin" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('*.kotlin*'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('*.jar$'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('*.knm$'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('^(|root/)[^/]+Main/default/(manifest|linkdata/*)$'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('^(|root/)R.txt$'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('^(|root/)proguard.txt$'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('^(|root/)META-INF/kotlin-project-structure-metadata.json$'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('^(|root/)META-INF/proguard/*$'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('^(|root/)META-INF/com.android.tools/proguard/*$'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('^(|root/)META-INF/com.android.tools/r8*/*$'))" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('^(|root/)META-INF/com/android/build/gradle/aar-metadata.properties$'))" />
</ItemGroup>
Položky můžou používat znaky souboru blob pro zástupné znaky, například * a ?.
Tyto položky však musí být kódovány jako URL nebo používat $([MSBuild]::Escape('')).
Proto MSBuild nepokouší interpretovat je jako skutečné zástupné znaky souborů.
Například
<ItemGroup>
<AndroidPackagingOptionsExclude Include="%2A.foo_%2A" />
<AndroidPackagingOptionsExclude Include="$([MSBuild]::Escape('*.foo')" />
</ItemGroup>
POZNÁMKA: *? a . bude nahrazen v BuildApk úkolu příslušnými zástupnými znamény souborů.
Pokud je výchozí maska souboru příliš omezující, můžete ji odebrat přidáním následujícího příkazu do souboru csproj.
<ItemGroup>
<AndroidPackagingOptionsExclude Remove="$([MSBuild]::Escape('*.kotlin_*')" />
</ItemGroup>
Přidáno v .NET 7.
AndroidPackagingOptionsInclude (zahrnout možnosti balení Android)
Sada položek kompatibilních se souborovým globem, které umožní zahrnout položky z konečného balíčku. Výchozí hodnoty jsou následující:
<ItemGroup>
<AndroidPackagingOptionsInclude Include="$([MSBuild]::Escape('*.kotlin_builtins')" />
</ItemGroup>
Položky můžou používat znaky souboru blob pro zástupné znaky, například * a ?.
Tyto položky však musí používat kódování adresy URL nebo $([MSBuild]::Escape('')).
Proto MSBuild nepokouší interpretovat je jako skutečné zástupné znaky souborů.
Například
<ItemGroup>
<AndroidPackagingOptionsInclude Include="%2A.foo_%2A" />
<AndroidPackagingOptionsInclude Include="$([MSBuild]::Escape('*.foo')" />
</ItemGroup>
POZNÁMKA: *? a . bude nahrazen v BuildApk úkolu příslušnými zástupnými znamény souborů.
Přidáno v .NET 9.
AndroidResource
Všechny soubory s akcí sestavení AndroidResource jsou zkompilovány do prostředků Androidu během procesu sestavení a zpřístupněny prostřednictvím $(AndroidResgenFile).
<ItemGroup>
<AndroidResource Include="Resources\values\strings.xml" />
</ItemGroup>
Pokročilejší uživatelé možná budou chtít mít různé prostředky používané v různých konfiguracích, ale se stejnou efektivní cestou. Toho lze dosáhnout pomocí více adresářů prostředků a souborů se stejnými relativními cestami v rámci těchto různých adresářů a podmíněným zahrnutím různých souborů do různých konfigurací pomocí podmínek nástroje MSBuild. Například:
<ItemGroup Condition=" '$(Configuration)' != 'Debug' ">
<AndroidResource Include="Resources\values\strings.xml" />
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<AndroidResource Include="Resources-Debug\values\strings.xml"/>
</ItemGroup>
<PropertyGroup>
<MonoAndroidResourcePrefix>Resources;Resources-Debug</MonoAndroidResourcePrefix>
</PropertyGroup>
LogicalName – Určuje cestu k prostředku explicitně. Povolí vytváření aliasů souborů, aby byly přístupné pod více různými názvy prostředků.
<ItemGroup Condition="'$(Configuration)'!='Debug'">
<AndroidResource Include="Resources/values/strings.xml"/>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Debug'">
<AndroidResource Include="Resources-Debug/values/strings.xml">
<LogicalName>values/strings.xml</LogicalName>
</AndroidResource>
</ItemGroup>
Content
Normální Content akce sestavení není podporována (protože jsme nezjistili, jak ji podporovat bez možná nákladného prvního kroku).
Pokus o použití @(Content) akce sestavení způsobí upozornění XA0101 .
EmbeddedJar
V projektu vazby .NET pro Android vytvoří akce sestavení EmbeddedJar vazbu knihovny Java/Kotlin a vloží .jar soubor do knihovny. Když projekt aplikace .NET pro Android využívá knihovnu, bude mít přístup k rozhraním Java/Kotlin API z jazyka C# a do konečné aplikace pro Android bude obsahovat kód Java/Kotlin.
Místo toho byste měli použít akci sestavení AndroidLibrary jako alternativu, například:
<Project>
<ItemGroup>
<AndroidLibrary Include="Library.jar" />
</ItemGroup>
</Project>
EmbeddedNativeLibrary
Akce sestavení EmbeddedNativeLibrary v knihovně tříd .NET pro Android nebo v projektu vazby Java sbalí nativní knihovnu, například lib/armeabi-v7a/libfoo.so do knihovny. Když aplikace .NET pro Android knihovnu využívá, libfoo.so soubor bude součástí konečné aplikace pro Android.
Jako alternativu můžete použít akci sestavení AndroidNativeLibrary .
EmbeddedReferenceJar
V projektu vazby .NET pro Android vloží akce sestavení .jar soubor do knihovny, ale nevytvoří vazbu jazyka C# jako EmbeddedJar. Když projekt aplikace .NET pro Android využívá knihovnu, bude obsahovat kód Java/Kotlin do konečné aplikace pro Android.
Akci sestavení AndroidLibrary můžete použít jako alternativu, například <AndroidLibrary Include="..." Bind="false" />:
<Project>
<ItemGroup>
<!-- A .jar file to bind & embed -->
<AndroidLibrary Include="Library.jar" />
<!-- A .jar file to only embed -->
<AndroidLibrary Include="Dependency.jar" Bind="false" />
</ItemGroup>
</Project>
JavaSourceJar
V projektu vazby .NET pro Android se akce sestavení JavaSourceJar používá u .jar souborů, které obsahují zdrojový kód Java, které obsahují komentáře dokumentace Javadoc.
Javadoc se místo toho převede na komentáře dokumentace jazyka C# XML ve vygenerovaném zdrojovém kódu vazby.
$(AndroidJavadocVerbosity) určuje, jak je importovaný Javadoc „podrobný“ nebo „úplný“.
Podporují se následující metadata nástroje MSBuild:
%(CopyrightFile): Cesta k souboru, který obsahuje informace o autorských právech pro obsah Javadoc, který se připojí ke všem importovaným dokumentacím.%(UrlPrefix): Předpona adresy URL pro podporu propojení s online dokumentací v rámci importované dokumentace.%(UrlStyle): Styl adres URL, které se mají generovat při propojení s online dokumentací. V současné době je podporován pouze jeden styl:developer.android.com/reference@2020-Nov.%(DocRootUrl): Předpona adresy URL, která se použije místo všech{@docroot}instancí v importované dokumentaci.
LibraryProjectZip
Akce sestavení LibraryProjectZip sváže knihovnu Java/Kotlin a vloží .zip.aar soubor do knihovny. Když projekt aplikace .NET pro Android využívá knihovnu, bude mít přístup k rozhraním Java/Kotlin API z jazyka C# a do konečné aplikace pro Android bude obsahovat kód Java/Kotlin.
Popis odkazu
Soubory s akcí sestavení LinkDescription slouží k určení chování linkeru.
ProguardConfiguration
Soubory s akcí sestavení ProguardConfiguration obsahují možnosti, které slouží k řízení proguard chování. Další informace o této akci sestavení najdete v tématu ProGuard.
Tyto soubory se ignorují, pokud
$(EnableProguard) Vlastnost MSBuild je True.
RuntimeEnvironmentVariable
@(RuntimeEnvironmentVariable) položky umožňují předat proměnné prostředí aplikaci pro Android za běhu prostřednictvím dotnet run -e. Například:
dotnet run -e DOTNET_RUN_FOO=TestValue123 -e DOTNET_RUN_BAR=AnotherValue456
Tyto položky se při použití dotnet run -e NAME=VALUE automaticky vyplní sadou .NET SDK a jsou zahrnuty do vygenerovaného souboru prostředí během sestavení. Každá položka má %(Identity) jako název proměnné a %(Value) je hodnota proměnné.
<ItemGroup>
<RuntimeEnvironmentVariable Include="DOTNET_RUN_FOO" Value="TestValue123" />
</ItemGroup>
Tato funkce je dostupná jenom pro projekty aplikací pro Android a vyžaduje sadu .NET SDK, která podporuje RuntimeEnvironmentVariableSupport možnosti projektu.
Tato položka sestavení byla představena ve .NET 10.0.300 SDK a .NET 11.