Skip to content

Releases: dotnet/android

.NET 11 Preview 2, Android 36.1.99-preview.2.154

10 Mar 22:50

Choose a tag to compare

This release is not yet available from the Visual Studio installer. Download the .NET 11 Preview 2 SDK, followed by:

> dotnet workload install android
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                            Installation Source
--------------------------------------------------------------------------------------------
android                    36.1.99-preview.2.154/11.0.100-preview.2    SDK 11.0.100-preview.2

What's Changed

  • $(AndroidPackVersionSuffix)=preview.2; main is .NET 11 preview 2 by @jonathanpeppers in #10725
  • [tests] restore testing net10.0-android projects in .NET 11 by @jonathanpeppers in #10729
  • [tests] verify 36.1 doesn't fallback to 36 by @jonathanpeppers in #10731
  • [xabt] fix $(AdbTarget) passed in by @jonathanpeppers in #10740
  • [xabt] use a response file when calling java r8.jar by @Copilot in #10716
  • Add UseMonoRuntime condition to API levels 21, 22, 23 in SupportedPlatforms generator by @Copilot in #10753
  • [Mono.Android] fix $DOTNET_STARTUP_HOOKS on CoreCLR by @jonathanpeppers in #10755
  • [tests] remove "flaky" MSBuild perf tests by @jonathanpeppers in #10756
  • Fix MSB4096 error with user-defined TrimmerRootAssembly items lacking RootMode metadata by @Copilot in #10759
  • [xaprepare] add --dotnet-sdk-archive switch by @jonathanpeppers in #10769
  • Unify LangVersion to "latest" across projects by @Copilot in #10766
  • [marshal methods] Make AndroidEnvironmentInternal.UnhandledException public by @Copilot in #10775
  • Bump com.android.tools:r8 from 8.13.19 to 9.0.32 in /src/r8 by @dependabot[bot] in #10780
  • [native build] Use a single source of truth for NDK API levels by @grendello in #10754
  • [TrimmableTypeMap] Extract typemap targets into dedicated files by @simonrozsival in #10797
  • Fix NativeAOT to use AndroidLinkMode=Full instead of SdkOnly by @Copilot in #10809
  • Migrate GenerateProguardConfiguration from ILLink step to MSBuild task by @sbomer in #10694
  • [NativeAOT] Fix application linking with API level > 21 by @grendello in #10812
  • [TrimmableTypeMap] Java peer scanner core by @simonrozsival in #10823
  • [build] Use all available CPU cores for NUnit test parallelism by @jonathanpeppers in #10834
  • [build] Add MSBuild + Emulator test stage to dnceng-public pipeline by @jonathanpeppers in #10828

Full Changelog: 36.1.99-preview.1.120...36.1.99-preview.2.154

.NET 10 Servicing, Android 36.1.43

10 Mar 22:50
350a375

Choose a tag to compare

The latest .NET MAUI component is available in Visual Studio 2026 or higher:

image

You can also download the .NET 10 SDK directly, followed by:

> dotnet workload install android --version 10.0.104
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                            Installation Source
--------------------------------------------------------------------------------------------
android                    36.1.43/10.0.100                            SDK 10.0.100

What's Changed

Full Changelog: 36.1.30...36.1.43

.NET 11 Preview 1, Android 36.1.99-preview.1.120

11 Feb 14:31
ee7ba43

Choose a tag to compare

This release is not yet available from the Visual Studio installer. Download the .NET 11 Preview 1 SDK, followed by:

> dotnet workload install android
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                            Installation Source
--------------------------------------------------------------------------------------------
android                    36.1.99-preview.1.120/11.0.100-preview.1    SDK 11.0.100-preview.1

What's Changed

New Contributors

Full Changelog: 36.1.2...36.1.99-preview.1.120

.NET 10 Servicing, Android 36.1.30

10 Feb 22:48

Choose a tag to compare

The latest .NET MAUI component is available in Visual Studio 2026 or higher:

image

You can also download the .NET 10 SDK directly, followed by:

> dotnet workload install android --version 10.0.103
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                            Installation Source
--------------------------------------------------------------------------------------------
android                    36.1.30/10.0.100                            SDK 10.0.100

What's Changed

Full Changelog: 36.1.12...36.1.30

.NET 10 Servicing, Android 36.1.12

14 Jan 01:33
d611c12

Choose a tag to compare

The latest .NET MAUI component is available in Visual Studio 2026 or higher:

image

You can also download the .NET 10 SDK directly, followed by:

> dotnet workload install android --version 10.0.102
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                            Installation Source
--------------------------------------------------------------------------------------------
android                    36.1.12/10.0.100                             SDK 10.0.100

What's Changed

Full Changelog: 36.1.2...36.1.12

.NET 10 GA, Android 36.1.2

11 Nov 19:04

Choose a tag to compare

The latest .NET MAUI component is available in Visual Studio 2026 or higher:

image

You can also download the .NET 10 SDK directly, followed by:

> dotnet workload install android --version 10.0.100.1
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                            Installation Source
--------------------------------------------------------------------------------------------
android                    36.1.2/10.0.100                             SDK 10.0.100

Android 36.1

To try out the new APIs, you can opt your project into the new net10.0-android36.1 target framework:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net10.0-android36.1</TargetFramework>
    <!-- Remainder of your .csproj -->

Note that if omitted, net10.0-android will default to API 36.0.

To use an Android 36.1-only API you can use the OperatingSystem class to check the Android version at runtime:

if (OperatingSystem.IsAndroidVersionAtLeast(36, 1))
{
    // Call some Android 36.1 API here
}
else
{
	// Fallback for older OS versions
	ShowToast("Android 36.1+ is required for this feature");
}

See the Android documentation for a full diff of the new available APIs in Android 36.1.

For a full sample using Android 36.1 APIs, see our Pdf Annotator sample on GitHub.

To install the Android 36.1 platform, you can go to Tools > Android > Android SDK Manager. Install Android SDK Platform 36.1.

TLDR

For a short list of Android features in .NET 10, see:

What's Changed

Full Changelog: 36.0.0-rc.2.332...36.1.2

.NET 10 RC 2, Android 36.0.0-rc.2.332

14 Oct 20:45
971bf7e

Choose a tag to compare

Pre-release

The latest .NET MAUI component is available in Visual Studio 2026 Insiders 11111.16 and higher:

image

You can also download the .NET 10 RC 2 SDK directly, followed by:

> dotnet workload install android
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                            Installation Source
--------------------------------------------------------------------------------------------
android                    36.0.0-rc.2.332/10.0.100-rc.2               SDK 10.0.100-rc.2

Android 36.1

To try out the new APIs, you can opt your project into the new net10.0-android36.1 target framework:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net10.0-android36.1</TargetFramework>
    <EnablePreviewFeatures>true</EnablePreviewFeatures>
    <!-- Remainder of your .csproj -->

Note that if omitted, net10.0-android will default to API 36.0. $(EnablePreviewFeatures) will not be required in future .NET 10 releases.

To use an Android 36.1-only API you can use the OperatingSystem class to check the Android version at runtime:

if (OperatingSystem.IsAndroidVersionAtLeast(36, 1))
{
    // Call some Android 36.1 API here
}
else
{
	// Fallback for older OS versions
	ShowToast("Android 36.1+ is required for this feature");
}

See the Android documentation for a full diff of the new available APIs in Android 36.1.

For a full sample using Android 36.1 APIs, see our Pdf Annotator sample on GitHub.

To install the Android 36.1 platform, you can go to Tools > Android > Android SDK Manager. Under the gear icon in the bottom right, change Repository to Full List. This allows you to install Android SDK Platform 36.1.

TLDR

For a short list of Android features in .NET 10, see:

What's Changed

New Contributors

Full Changelog: 36.0.0-rc.1.285...36.0.0-rc.2.332

.NET 9 Servicing, Android 35.0.105

14 Oct 18:39

Choose a tag to compare

The latest .NET MAUI component is available in Visual Studio 2026 Insiders 11111.16 and higher:

image

You can also download the .NET 9 SDK directly, followed by:

> dotnet workload install android
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                  Installation Source
--------------------------------------------------------------------------------------------
android                    35.0.105/9.0.100                  SDK 9.0.305

What's Changed

Full Changelog: 35.0.101...35.0.105

.NET 10 RC 1, Android 36.0.0-rc.1.285

09 Sep 17:14

Choose a tag to compare

Pre-release

The latest .NET MAUI component is available in Visual Studio 2026:

image

You can also download the .NET 10 RC 1 SDK directly, followed by:

> dotnet workload install android
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                            Installation Source
--------------------------------------------------------------------------------------------
android                    36.0.0-rc.1.285/10.0.100-rc.1               SDK 10.0.100-rc.1

TLDR

For a short list of Android features in .NET 10, see:

What's Changed

  • $(AndroidPackVersionSuffix)=rc.1 by @jonathanpeppers in #10318
  • [tests] fix GetString_Many() test by @jonathanpeppers in #10317
  • [build] pack Xamarin.Android.Tools.AndroidSdk by @jonathanpeppers in #10321
  • Remove tests/BCL-Tests directory and move NetworkChangeTest to Mono.Android-Tests by @Copilot in #10320
  • Fix NRT annotations in MSBuild Tasks Legacy/ResolveAndroidTooling.cs by @Copilot in #10315
  • [build] set $(PackageVersionSuffix) for dotnet/android-tools by @jonathanpeppers in #10325
  • [native] update p/invoke tables for libSystem.Native.so by @jonathanpeppers in #10330
  • [tests] add a smoke test for System.IO.Directory by @jonathanpeppers in #10331
  • Fix NRT annotations in Xamarin.Android.Build.Tasks to follow repository guidelines by @Copilot in #10327
  • Cleanup: remove Xamarin.Android.Bindings.targets and _AndroidIsBindingProject usage by @Copilot in #10337
  • Cleanup: remove src\Xamarin.Android.Build.Tasks\Xamarin.Android.PCLSupport.* and other unshipped MSBuild files by @Copilot in #10344
  • [build] remove usage of "Facades" directories by @jonathanpeppers in #10342
  • Bump com.android.tools:r8 from 8.9.35 to 8.11.18 in /src/r8 by @dependabot[bot] in #10347
  • [xabt] suppress XA0101 for Razor class libraries by @jonathanpeppers in #10350
  • [tests] enable GCBridge category for CoreCLR by @jonathanpeppers in #10354
  • [xabt] Compute $DOTNET_DiagnosticPorts using MSBuild properties by @jonathanpeppers in #10351
  • [copilot] update instructions file by @jonathanpeppers in #10355
  • Fix NRT annotations in src\Xamarin.Android.Build.Tasks\Utilities\ directory with proper MSBuild compatibility by @Copilot in #10335
  • Audit static field usage: Make mutable static fields readonly to improve MSBuild safety by @Copilot in #10359
  • [build] update $(ProductVersion) to align with Android 16 by @jonathanpeppers in #10361
  • [CoreCLR] Remove unused struct types from CoreCLR host header by @Copilot in #10264
  • Fix null-forgiving operator usage in MarshalMethodsAssemblyRewriter by @Copilot in #10362
  • [WIP] <RemoveDirFixed/> MSBuild task can take 8+ seconds by @Copilot in #10363
  • [vscode] update recommended VS Code extensions by @jonathanpeppers in #10366
  • Fix AndroidLibrary Pack='false' ignoring jar exclusion from AAR packages by @Copilot in #10365
  • Enable nullable reference types for JavaResourceParser and MD2Managed in Utilities directory by @Copilot in #10364
  • [build] enable transitive trimmer warnings by @jonathanpeppers in #10369
  • Fix Aapt2Link not passing min SDK version to aapt2 by @Copilot in #10194
  • Bumps com.android.tools.build:manifest-merger from 31.11.1 to 31.12.0 by @jonathanpeppers in #10370
  • [tests] Simplify CreateDllBuilder() and CreateApkBuilder() calls to use default parameters by @Copilot in #10373
  • [xabt] Xamarin.Android.Build.Tasks.dll should be strong-named by @jonathanpeppers in #10377
  • Add comprehensive XML documentation to Xamarin.Android.Build.Tasks test framework API by @Copilot in #10380
  • [build] Bump NDK to r28c by @grendello in #10386
  • [tests] fix AppWithAndroidJavaSource test by @jonathanpeppers in #10389
  • Add BA2008 EnableControlFlowGuard suppression for aapt2.exe by @Copilot in #10390
  • [build] build with Open JDK 21.0.8 by @jonathanpeppers in #10391
  • Make 7z able to handle symlinks in the NDK zip again by @grendello in #10392
  • Update BinSkim BA2008 suppression for aapt2.exe with wildcard pattern and proper justification by @Copilot in #10394
  • [clr] fix environment variable setting by @grendello in #10395
  • [WIP] Fix NRT annotations in src\Xamarin.Android.Build.Tasks\ by @Copilot in #10393
  • [xabt] fix default trimmer switches for Metrics by @jonathanpeppers in #10388
  • [xaprepare] Fix detection of the new Debian/sid version by @grendello in #10399
  • [Docs] Update JDK version in docs by @davidnguyen-tech in #10410
  • Fix WebClient obsolete warning by replacing with HttpClient by @Copilot in #10407
  • [profiled-aot] update AOT profile using 10.0.100-rc.1.25412.102 by @jonathanpeppers in #10412
  • [NativeAOT] remove @(KnownILCompilerPack) hack by @jonathanpeppers in #10413
  • [xabt] see if we can remove _RemoveLinuxFrameworkReferences by @jonathanpeppers in #10415
  • [Mono.Android] fix Type.GetType() performance issue by @jonathanpeppers in #10416
  • Expose usesPermissionFlags in UsesPermissionAttribute for Android API 31+ Bluetooth permissions by @Copilot in #10411

New Contributors

Full Changelog: 36.0.0-preview.7.229...36.0.0-rc.1.285

.NET 9 Servicing, Android 35.0.101

09 Sep 17:13
a618557

Choose a tag to compare

The latest .NET MAUI component is available in Visual Studio 2026:

image

You can also download the .NET 9 SDK directly, followed by:

> dotnet workload install android
...
Successfully installed workload(s) android.

To verify installation:

> dotnet workload list

Installed Workload Id      Manifest Version                  Installation Source
--------------------------------------------------------------------------------------------
android                    35.0.101/9.0.100                  SDK 9.0.303

What's Changed

Full Changelog: 35.0.92...35.0.101