diff --git a/build-tools/installers/create-installers.targets b/build-tools/installers/create-installers.targets
index ce7f3580148..c307f183d1d 100644
--- a/build-tools/installers/create-installers.targets
+++ b/build-tools/installers/create-installers.targets
@@ -129,12 +129,16 @@
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)bundletool.jar" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_net6.jar" ExcludeFromLegacy="true" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_fastdev_net6.jar" ExcludeFromLegacy="true" />
+ <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_trimmable_net6.jar" ExcludeFromLegacy="true" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_net6.dex" ExcludeFromLegacy="true" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_fastdev_net6.dex" ExcludeFromLegacy="true" />
+ <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_trimmable_net6.dex" ExcludeFromLegacy="true" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_clr.jar" ExcludeFromLegacy="true" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_fastdev_clr.jar" ExcludeFromLegacy="true" />
+ <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_trimmable_clr.jar" ExcludeFromLegacy="true" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_clr.dex" ExcludeFromLegacy="true" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_fastdev_clr.dex" ExcludeFromLegacy="true" />
+ <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_trimmable_clr.dex" ExcludeFromLegacy="true" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)manifestmerger.jar" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)proguard-android.txt" />
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)protobuf-net.dll" />
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets
index dd2ab89a61e..3eb8349a09d 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets
@@ -1391,14 +1391,24 @@ because xbuild doesn't support framework reference assemblies.
+
-
+
<_RuntimeJar>$(MSBuildThisFileDirectory)\java_runtime_net6.jar
-
+
+ <_RuntimeJar>$(MSBuildThisFileDirectory)\java_runtime_trimmable_net6.jar
+
+
+
<_RuntimeJar>$(MSBuildThisFileDirectory)\java_runtime_clr.jar
+
+
+ <_RuntimeJar>$(MSBuildThisFileDirectory)\java_runtime_trimmable_clr.jar
+
$(IntermediateOutputPath)release-net6.txt
..\..\src-ThirdParty\bazel\java\mono\android\debug\MultiDexLoader.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\debug\BuildConfig.java;java\mono\android\release\BuildConfig.java;java\mono\android\clr\MonoPackageManager.java
+ <_RuntimeOutput Include="$(OutputPath)java_runtime_trimmable_net6.jar">
+ $(OutputPath)java_runtime_trimmable_net6.jar
+ $(OutputPath)java_runtime_trimmable_net6.dex
+ $(IntermediateOutputPath)release-trimmable-net6
+ $(IntermediateOutputPath)release-trimmable-net6.txt
+ ..\..\src-ThirdParty\bazel\java\mono\android\debug\MultiDexLoader.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\debug\BuildConfig.java;java\mono\android\release\BuildConfig.java;java\mono\android\clr\MonoPackageManager.java;$(JavaInteropSourceDirectory)\src\Java.Interop\java\net\dot\jni\internal\JavaProxyObject.java;$(JavaInteropSourceDirectory)\src\Java.Interop\java\net\dot\jni\internal\JavaProxyThrowable.java
+ java-trimmable\net\dot\jni\internal\JavaProxyObject.java;java-trimmable\net\dot\jni\internal\JavaProxyThrowable.java
+
<_RuntimeOutput Include="$(OutputPath)java_runtime_fastdev_net6.jar">
$(OutputPath)java_runtime_fastdev_net6.jar
$(OutputPath)java_runtime_fastdev_net6.dex
@@ -39,6 +47,14 @@
$(IntermediateOutputPath)release-clr.txt
..\..\src-ThirdParty\bazel\java\mono\android\debug\MultiDexLoader.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\debug\BuildConfig.java;java\mono\android\release\BuildConfig.java;java\mono\android\MonoPackageManager.java
+ <_RuntimeOutput Include="$(OutputPath)java_runtime_trimmable_clr.jar">
+ $(OutputPath)java_runtime_trimmable_clr.jar
+ $(OutputPath)java_runtime_trimmable_clr.dex
+ $(IntermediateOutputPath)release-trimmable-clr
+ $(IntermediateOutputPath)release-trimmable-clr.txt
+ ..\..\src-ThirdParty\bazel\java\mono\android\debug\MultiDexLoader.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\debug\BuildConfig.java;java\mono\android\release\BuildConfig.java;java\mono\android\MonoPackageManager.java;$(JavaInteropSourceDirectory)\src\Java.Interop\java\net\dot\jni\internal\JavaProxyObject.java;$(JavaInteropSourceDirectory)\src\Java.Interop\java\net\dot\jni\internal\JavaProxyThrowable.java
+ java-trimmable\net\dot\jni\internal\JavaProxyObject.java;java-trimmable\net\dot\jni\internal\JavaProxyThrowable.java
+
<_RuntimeOutput Include="$(OutputPath)java_runtime_fastdev_clr.jar">
$(OutputPath)java_runtime_fastdev_clr.jar
$(OutputPath)java_runtime_fastdev_clr.dex
@@ -50,14 +66,17 @@
+
+
<_RuntimeSource Include="@(AllRuntimeSource)" />
<_RuntimeSource Remove="%(_RuntimeOutput.RemoveItems)" />
+ <_RuntimeSource Include="%(_RuntimeOutput.AddItems)" Condition=" '%(_RuntimeOutput.AddItems)' != '' " />
managedReferences = new ArrayList