From a5d94e8163060bb442723823b7d210d7ae0eede0 Mon Sep 17 00:00:00 2001
From: Peter Collins <pecolli@microsoft.com>
Date: Thu, 13 Jun 2024 13:21:30 -0400
Subject: [PATCH 1/5] Update java-interop and android-tools submodules

---
 .../04-binding-a-java-library.yml             |  2 +-
 .gitmodules                                   | 14 ++++++-------
 Documentation/release-notes/5945.md           |  2 +-
 Documentation/release-notes/README.md         | 21 +++++++++----------
 Xamarin.Android.Build.Tasks.sln               |  4 ++--
 Xamarin.Android.sln                           |  6 +++---
 ...amarin.Android.Tools.BootstrapTasks.csproj |  4 ++--
 ...nfiguration.Java.Interop.Override.in.props |  2 +-
 build-tools/scripts/XAVersionInfo.targets     |  2 +-
 .../xa-prep-tasks/xa-prep-tasks.csproj        |  4 ++--
 .../xaprepare/ConfigAndData/Configurables.cs  |  2 +-
 .../ThirdPartyNotices/Java.Interop.cs         |  6 +++---
 external/Java.Interop.override.props          |  2 +-
 external/android-tools                        |  1 +
 external/monodroid.override.props             |  2 +-
 external/xamarin-android-tools                |  1 -
 src/Mono.Android/Mono.Android.csproj          |  2 +-
 src/Mono.Android/metadata                     |  2 +-
 .../Linker/MonoDroid.Tuner/Extensions.cs      |  2 +-
 .../Utilities/BaseTest.cs                     |  4 ++--
 .../Xamarin.Android.Build.Tests.csproj        |  4 ++--
 .../Xamarin.ProjectTools.csproj               |  4 ++--
 .../Xamarin.Android.Build.Tasks.csproj        |  6 +++---
 .../Xamarin.Android.Common.props.in           |  2 +-
 src/native/monodroid/internal-pinvoke-api.cc  |  2 +-
 src/native/monodroid/pinvoke-override-api.cc  |  2 +-
 .../MSBuildDeviceIntegration.csproj           |  2 +-
 .../assembly-store-reader.csproj              |  2 +-
 28 files changed, 53 insertions(+), 56 deletions(-)
 create mode 160000 external/android-tools
 delete mode 160000 external/xamarin-android-tools

diff --git a/.github/ISSUE_TEMPLATE/04-binding-a-java-library.yml b/.github/ISSUE_TEMPLATE/04-binding-a-java-library.yml
index 3f7d96f66c7..a1a680f669b 100644
--- a/.github/ISSUE_TEMPLATE/04-binding-a-java-library.yml
+++ b/.github/ISSUE_TEMPLATE/04-binding-a-java-library.yml
@@ -6,7 +6,7 @@ body:
   - type: markdown
     attributes:
       value: |
-        Documentation for how to troubleshoot issues with binding projects, as well as common issues and how to solve them, is available [here](https://github.com/xamarin/java.interop/wiki/Troubleshooting-Android-Bindings-Issues).
+        Documentation for how to troubleshoot issues with binding projects, as well as common issues and how to solve them, is available [here](https://github.com/dotnet/java-interop/wiki/Troubleshooting-Android-Bindings-Issues).
 
         If you get stuck troubleshooting an issue, please make sure to add as much detail as you can, preferably with a reproduction if possible. This will help us diagnose the issue faster and thus resolve it quicker.
   - type: dropdown
diff --git a/.gitmodules b/.gitmodules
index e01e3a515fd..6bc9b8b8cfd 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,10 +10,6 @@
     path = external/debugger-libs
     url = https://github.com/mono/debugger-libs
     branch = main
-[submodule "external/Java.Interop"]
-    path = external/Java.Interop
-    url = https://github.com/xamarin/java.interop.git
-    branch = main
 [submodule "external/libunwind"]
     path = external/libunwind
     url = https://github.com/libunwind/libunwind.git
@@ -26,11 +22,13 @@
     path = external/robin-map
     url = https://github.com/xamarin/robin-map
     branch = master
-[submodule "external/xamarin-android-tools"]
-    path = external/xamarin-android-tools
-    url = https://github.com/xamarin/xamarin-android-tools
-    branch = main
 [submodule "external/xxHash"]
     path = external/xxHash
     url = https://github.com/Cyan4973/xxHash.git
     branch = release
+[submodule "external/android-tools"]
+	path = external/android-tools
+	url = https://github.com/dotnet/android-tools
+[submodule "external/Java.Interop"]
+	path = external/Java.Interop
+	url = https://github.com/dotnet/java-interop
diff --git a/Documentation/release-notes/5945.md b/Documentation/release-notes/5945.md
index 3fb53163476..fa9b2f37988 100644
--- a/Documentation/release-notes/5945.md
+++ b/Documentation/release-notes/5945.md
@@ -1,6 +1,6 @@
 #### Bindings projects
 
-- [GitHub Issue #835](https://github.com/xamarin/java.interop/issues/835):
+- [GitHub Issue #835](https://github.com/dotnet/java-interop/issues/835):
   Don't throw an `IndexOutOfRangeException` if a Java type ends with `.` or `$`.
 
 - [GitHub Issue #5821](https://github.com/xamarin/xamarin-android/issues/5921)
diff --git a/Documentation/release-notes/README.md b/Documentation/release-notes/README.md
index 229d7ba4d52..33582c50238 100644
--- a/Documentation/release-notes/README.md
+++ b/Documentation/release-notes/README.md
@@ -37,7 +37,7 @@ items.
 Changes for One .NET should have neither label for now because they are not yet
 user-facing.
 
-PRs that bump Java.Interop, xamarin-android-tools, or monodroid generally don't
+PRs that bump Java.Interop, android-tools, or monodroid generally don't
 need to be labeled, but Mono bumps that include changes that could affect
 Android users should be labeled.
 
@@ -123,7 +123,7 @@ Examples:
 ```markdown
 ### Build and deployment performance
 
-- [Java.Interop GitHub PR 596](https://github.com/xamarin/java.interop/pull/596):
+- [Java.Interop GitHub PR 596](https://github.com/dotnet/java-interop/pull/596):
   Use `File.Exists()` instead of `DirectoryGetFile()` in a few places.  This
   reduced the time for the `LinkAssembliesNoShrink` task from about 710
   milliseconds to about 430 milliseconds for a small test Xamarin.Forms app on
@@ -191,19 +191,19 @@ Example showing multiple release notes sections for a Java.Interop bump:
 ```markdown
 ### Build and deployment performance
 
-- [Java.Interop GitHub PR 440](https://github.com/xamarin/java.interop/pull/440),
-  [Java.Interop GitHub PR 441](https://github.com/xamarin/java.interop/pull/441),
-  [Java.Interop GitHub PR 442](https://github.com/xamarin/java.interop/pull/442),
-  [Java.Interop GitHub PR 448](https://github.com/xamarin/java.interop/pull/448),
-  [Java.Interop GitHub PR 449](https://github.com/xamarin/java.interop/pull/449),
-  [Java.Interop GitHub PR 452](https://github.com/xamarin/java.interop/pull/452):
+- [Java.Interop GitHub PR 440](https://github.com/dotnet/java-interop/pull/440),
+  [Java.Interop GitHub PR 441](https://github.com/dotnet/java-interop/pull/441),
+  [Java.Interop GitHub PR 442](https://github.com/dotnet/java-interop/pull/442),
+  [Java.Interop GitHub PR 448](https://github.com/dotnet/java-interop/pull/448),
+  [Java.Interop GitHub PR 449](https://github.com/dotnet/java-interop/pull/449),
+  [Java.Interop GitHub PR 452](https://github.com/dotnet/java-interop/pull/452):
   Optimize several of the build steps for bindings projects.  For a large
   binding like _Mono.Android.dll_ itself, this reduced the total build time in a
   test environment by about 50 seconds.
 
 #### Bindings projects
 
-- [Java.Interop GitHub PR 458](https://github.com/xamarin/java.interop/pull/458):
+- [Java.Interop GitHub PR 458](https://github.com/dotnet/java-interop/pull/458):
   Bindings projects did not yet automatically generate event handlers for Java
   listener interfaces where the _add_ or _set_ method of the interface took two
   arguments instead of just one.
@@ -381,8 +381,7 @@ added to `Documentation/release-notes/images/`.
 
    (For versions before 11.2, the milestone had a slightly different format.)
 
-   Complete this step for xamarin-android, Java.Interop, and
-   xamarin-android-tools.
+   Complete this step for xamarin-android, Java.Interop, and android-tools.
 
    See also the [_How to make bulk changes on pull requests and issues_][bulk-change]
    section for tips on how to complete this step.
diff --git a/Xamarin.Android.Build.Tasks.sln b/Xamarin.Android.Build.Tasks.sln
index 29fa734d988..a7372538664 100644
--- a/Xamarin.Android.Build.Tasks.sln
+++ b/Xamarin.Android.Build.Tasks.sln
@@ -21,9 +21,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Debugging.Soft", "exte
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vswhere", "tools\vswhere\vswhere.csproj", "{DBDC804F-8406-4F5E-83C6-720CB0CB6C6F}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Android.Build.BaseTasks", "external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj", "{3DE17662-DCD6-4F49-AF06-D39AACC8649A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Android.Build.BaseTasks", "external\android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj", "{3DE17662-DCD6-4F49-AF06-D39AACC8649A}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}"
 EndProject
 Global
 	GlobalSection(SharedMSBuildProjectFiles) = preSolution
diff --git a/Xamarin.Android.sln b/Xamarin.Android.sln
index eaf3ea4fb2e..bc374e717c0 100644
--- a/Xamarin.Android.sln
+++ b/Xamarin.Android.sln
@@ -67,11 +67,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Android.Export", "src\
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Android.Runtime", "src\Mono.Android.Runtime\Mono.Android.Runtime.csproj", "{43564FB3-0F79-4FF4-A2B0-B1637072FF01}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Android.Build.BaseTasks", "external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj", "{3DE17662-DCD6-4F49-AF06-D39AACC8649A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Android.Build.BaseTasks", "external\android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj", "{3DE17662-DCD6-4F49-AF06-D39AACC8649A}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk-Tests", "external\xamarin-android-tools\tests\Xamarin.Android.Tools.AndroidSdk-Tests\Xamarin.Android.Tools.AndroidSdk-Tests.csproj", "{1E5501E8-49C1-4659-838D-CC9720C5208F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk-Tests", "external\android-tools\tests\Xamarin.Android.Tools.AndroidSdk-Tests\Xamarin.Android.Tools.AndroidSdk-Tests.csproj", "{1E5501E8-49C1-4659-838D-CC9720C5208F}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "r8", "src\r8\r8.csproj", "{1BAFA0CC-0377-46CE-AB7B-7BB2E7B62F63}"
 EndProject
diff --git a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
index d3ab591a159..91e3b85c25a 100644
--- a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
+++ b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
@@ -9,7 +9,7 @@
   </PropertyGroup>
 
   <Import Project="..\..\Configuration.props" />
-  <Import Project="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
 
   <ItemGroup>
     <PackageReference Include="Microsoft.DotNet.ApiCompat" Version="$(MicrosoftDotNetApiCompatPackageVersion)" IncludeAssets="none" />
@@ -18,7 +18,7 @@
 
   <ItemGroup>
     <ProjectReference Include="..\xa-prep-tasks\xa-prep-tasks.csproj" />
-    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
+    <ProjectReference Include="..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
   </ItemGroup>
 
   <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
diff --git a/build-tools/scripts/Configuration.Java.Interop.Override.in.props b/build-tools/scripts/Configuration.Java.Interop.Override.in.props
index 76ac996a267..14bd039c2db 100644
--- a/build-tools/scripts/Configuration.Java.Interop.Override.in.props
+++ b/build-tools/scripts/Configuration.Java.Interop.Override.in.props
@@ -4,6 +4,6 @@
     <_XamarinAndroidCecilVersion>@MonoCecilVersion@</_XamarinAndroidCecilVersion>
     <UtilityOutputFullPath>$(MSBuildThisFileDirectory)..\..\bin\$(Configuration)\lib\xamarin.android\xbuild\Xamarin\Android\</UtilityOutputFullPath>
     <UtilityOutputFullPathCoreApps>@MicrosoftAndroidSdkOutDir@</UtilityOutputFullPathCoreApps>
-    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)..\..\external\xamarin-android-tools</XamarinAndroidToolsDirectory>
+    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)..\..\external\android-tools</XamarinAndroidToolsDirectory>
   </PropertyGroup>
 </Project>
diff --git a/build-tools/scripts/XAVersionInfo.targets b/build-tools/scripts/XAVersionInfo.targets
index 82d4d5d1f65..d9ac56b463f 100644
--- a/build-tools/scripts/XAVersionInfo.targets
+++ b/build-tools/scripts/XAVersionInfo.targets
@@ -15,7 +15,7 @@
       <_SubmoduleBranchInfo Include="external/Java.Interop">
         <OutputPropertyName>_BuildInfo_JavaInteropCommit</OutputPropertyName>
       </_SubmoduleBranchInfo>
-      <_SubmoduleBranchInfo Include="external/xamarin-android-tools">
+      <_SubmoduleBranchInfo Include="external/android-tools">
         <OutputPropertyName>_BuildInfo_XamarinAndroidToolsCommit</OutputPropertyName>
       </_SubmoduleBranchInfo>
     </ItemGroup>
diff --git a/build-tools/xa-prep-tasks/xa-prep-tasks.csproj b/build-tools/xa-prep-tasks/xa-prep-tasks.csproj
index 4cb84d00174..b698a31bc17 100644
--- a/build-tools/xa-prep-tasks/xa-prep-tasks.csproj
+++ b/build-tools/xa-prep-tasks/xa-prep-tasks.csproj
@@ -7,10 +7,10 @@
   </PropertyGroup>
 
   <Import Project="..\..\Configuration.props" />
-  <Import Project="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
 
   <ItemGroup>
-    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj" />
+    <ProjectReference Include="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj" />
   </ItemGroup>
 
 </Project>
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs
index 448d744c14a..e3f1a980f83 100644
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs
+++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs
@@ -189,7 +189,7 @@ public static partial class Paths
 			public static readonly string ExternalDir                      = Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "external");
 			public static readonly string ExternalGitDepsFilePath          = Path.Combine (BuildPaths.XamarinAndroidSourceRoot, ".external");
 			public static readonly string ExternalGitDepsDestDir           = ExternalDir;
-			public static readonly string ExternalXamarinAndroidToolsSln   = Path.Combine (ExternalDir, "xamarin-android-tools", "Xamarin.Android.Tools.sln");
+			public static readonly string ExternalXamarinAndroidToolsSln   = Path.Combine (ExternalDir, "android-tools", "Xamarin.Android.Tools.sln");
 			public static readonly string NativeSourcesDir                 = Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "src", "native");
 
 			// Dynamic locations used throughout the code
diff --git a/build-tools/xaprepare/xaprepare/ThirdPartyNotices/Java.Interop.cs b/build-tools/xaprepare/xaprepare/ThirdPartyNotices/Java.Interop.cs
index 7128b63c9ca..ad3b47d475f 100644
--- a/build-tools/xaprepare/xaprepare/ThirdPartyNotices/Java.Interop.cs
+++ b/build-tools/xaprepare/xaprepare/ThirdPartyNotices/Java.Interop.cs
@@ -23,11 +23,11 @@ class JavaInterop_External_Dependencies_Group : ThirdPartyNoticeGroup
 
 	class JavaInterop_xamarin_Java_Interop_TPN : ThirdPartyNotice
 	{
-		static readonly Uri    url         = new Uri ("https://github.com/xamarin/Java.Interop/");
+		static readonly Uri    url         = new Uri ("https://github.com/dotnet/java-interop/");
 		static readonly string licenseFile = Path.Combine (Configurables.Paths.ExternalJavaInteropDir, "LICENSE");
 
 		public override string LicenseFile => licenseFile;
-		public override string Name        => "xamarin/Java.Interop";
+		public override string Name        => "dotnet/java-interop";
 		public override Uri    SourceUrl   => url;
 		public override string LicenseText => String.Empty;
 	}
@@ -70,7 +70,7 @@ POSSIBILITY OF SUCH DAMAGE.
 ";
 	}
 
-	// via: https://github.com/xamarin/java.interop/blob/b588ef502d8d3b4c32e0ad731115e1b71fd56b5c/tools/java-source-utils/build.gradle#L33-L34
+	// via: https://github.com/dotnet/java-interop/blob/b588ef502d8d3b4c32e0ad731115e1b71fd56b5c/tools/java-source-utils/build.gradle#L33-L34
 	class JavaInterop_javaparser_javaparser_TPN : ThirdPartyNotice
 	{
 		static readonly Uri    url         = new Uri ("https://github.com/javaparser/javaparser/");
diff --git a/external/Java.Interop.override.props b/external/Java.Interop.override.props
index 5242a70af3f..89fd9cfa7e8 100644
--- a/external/Java.Interop.override.props
+++ b/external/Java.Interop.override.props
@@ -1,7 +1,7 @@
 <Project>
 
   <PropertyGroup>
-    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)xamarin-android-tools</XamarinAndroidToolsDirectory>
+    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)android-tools</XamarinAndroidToolsDirectory>
     <Standalone>True</Standalone>
   </PropertyGroup>
 
diff --git a/external/android-tools b/external/android-tools
new file mode 160000
index 00000000000..260622579ed
--- /dev/null
+++ b/external/android-tools
@@ -0,0 +1 @@
+Subproject commit 260622579ed5755def0558e46c154320ecbcc866
diff --git a/external/monodroid.override.props b/external/monodroid.override.props
index 8cbac6945cf..a6226d41fa2 100644
--- a/external/monodroid.override.props
+++ b/external/monodroid.override.props
@@ -1,7 +1,7 @@
 <Project>
 
   <PropertyGroup>
-    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)xamarin-android-tools</XamarinAndroidToolsDirectory>
+    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)android-tools</XamarinAndroidToolsDirectory>
   </PropertyGroup>
 
 </Project>
diff --git a/external/xamarin-android-tools b/external/xamarin-android-tools
deleted file mode 160000
index da2c33e8ff4..00000000000
--- a/external/xamarin-android-tools
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit da2c33e8ff4ee71a5b96917caaad5bdb2e87a89f
diff --git a/src/Mono.Android/Mono.Android.csproj b/src/Mono.Android/Mono.Android.csproj
index cbafd9c2b07..fead7ed47b2 100644
--- a/src/Mono.Android/Mono.Android.csproj
+++ b/src/Mono.Android/Mono.Android.csproj
@@ -18,7 +18,7 @@
     <ImplicitlyExpandDesignTimeFacades>false</ImplicitlyExpandDesignTimeFacades>
     <JavaCallableWrapperAfterTargets>CoreBuild</JavaCallableWrapperAfterTargets>
     <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
-    <!-- @(Compile) ordering matters! See https://github.com/xamarin/java.interop/commit/d7dfa0bb7b03261d5eceb51ac22cd33aa15fa865 -->
+    <!-- @(Compile) ordering matters! See https://github.com/dotnet/java-interop/commit/d7dfa0bb7b03261d5eceb51ac22cd33aa15fa865 -->
     <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
     <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
     <Nullable>enable</Nullable>
diff --git a/src/Mono.Android/metadata b/src/Mono.Android/metadata
index f19fad6ac64..ea38a75e066 100644
--- a/src/Mono.Android/metadata
+++ b/src/Mono.Android/metadata
@@ -1693,7 +1693,7 @@
 
   <!-- If you try to implement ICursor in API-30+, we generate an invalid invoker for this method due to the
        generic parameters.  Since this is a default method we can just remove it until that bug is fixed.
-       https://github.com/xamarin/java.interop/issues/699 -->
+       https://github.com/dotnet/java-interop/issues/699 -->
   <remove-node api-since="30" path="/api/package[@name='android.database']/interface[@name='Cursor']/method[@name='setNotificationUris' and count(parameter)=2 and parameter[1][@type='android.content.ContentResolver'] and parameter[2][@type='java.util.List&lt;android.net.Uri&gt;']]" />
   <remove-node api-since="30" path="/api/package[@name='android.database']/interface[@name='Cursor']/method[@name='getNotificationUris']" />
 
diff --git a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Extensions.cs b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Extensions.cs
index 8e816d7d3c6..de9eb85cf72 100644
--- a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Extensions.cs
+++ b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Extensions.cs
@@ -333,7 +333,7 @@ public static bool TryGetMarshalMethod (this MethodDefinition method, string nat
 			return false;
 		}
 
-		// Keep in sync with: https://github.com/xamarin/java.interop/blob/8ccb8374d242490d8d1b032f2c8ca7a813fd40f3/src/Java.Interop.Export/Java.Interop/MarshalMemberBuilder.cs#L405-L421
+		// Keep in sync with: https://github.com/dotnet/java-interop/blob/8ccb8374d242490d8d1b032f2c8ca7a813fd40f3/src/Java.Interop.Export/Java.Interop/MarshalMemberBuilder.cs#L405-L421
 		public static string GetMarshalMethodName (string name, string signature)
 		{
 			if (name == null)
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs
index a42ec7ee3f3..27af3bf82d1 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs
@@ -270,7 +270,7 @@ protected string CreateFauxJavaSdkDirectory (string path, string javaVersion, ou
 			return javaPath;
 		}
 
-		// https://github.com/xamarin/xamarin-android-tools/blob/683f37508b56c76c24b3287a5687743438625341/tests/Xamarin.Android.Tools.AndroidSdk-Tests/JdkInfoTests.cs#L60-L100
+		// https://github.com/dotnet/android-tools/blob/683f37508b56c76c24b3287a5687743438625341/tests/Xamarin.Android.Tools.AndroidSdk-Tests/JdkInfoTests.cs#L60-L100
 		void CreateFauxJdk (string dir, string releaseVersion, string releaseBuildNumber, string javaVersion, string[] extraPrefix)
 		{
 			Directory.CreateDirectory (dir);
@@ -321,7 +321,7 @@ void CreateFauxJdk (string dir, string releaseVersion, string releaseBuildNumber
 			CreateShellScript (Path.Combine (jre, "jvm.dll"), "");
 		}
 
-		// https://github.com/xamarin/xamarin-android-tools/blob/683f37508b56c76c24b3287a5687743438625341/tests/Xamarin.Android.Tools.AndroidSdk-Tests/JdkInfoTests.cs#L108-L132
+		// https://github.com/dotnet/android-tools/blob/683f37508b56c76c24b3287a5687743438625341/tests/Xamarin.Android.Tools.AndroidSdk-Tests/JdkInfoTests.cs#L108-L132
 		void CreateShellScript (string path, string contents)
 		{
 			if (IsWindows && string.Compare (Path.GetExtension (path), ".dll", StringComparison.OrdinalIgnoreCase) != 0)
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Xamarin.Android.Build.Tests.csproj b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Xamarin.Android.Build.Tests.csproj
index 749318c47ab..367eb0d43a8 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Xamarin.Android.Build.Tests.csproj
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Xamarin.Android.Build.Tests.csproj
@@ -12,7 +12,7 @@
   </PropertyGroup>
 
   <Import Project="..\..\..\..\Configuration.props" />
-  <Import Project="..\..\..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
   <Import Project="..\..\..\..\build-tools\scripts\NUnitReferences.projitems" />
 
   <ItemGroup>
@@ -25,7 +25,7 @@
   <ItemGroup>
     <ProjectReference Include="..\Xamarin.ProjectTools\Xamarin.ProjectTools.csproj" />
     <ProjectReference Include="..\..\Xamarin.Android.Build.Tasks.csproj" />
-    <ProjectReference Include="..\..\..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
+    <ProjectReference Include="..\..\..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj
index 2482944cc97..961fa60f25e 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj
@@ -10,7 +10,7 @@
     <_IncludeMicrosoftBuildPackage>true</_IncludeMicrosoftBuildPackage>
   </PropertyGroup>
   <Import Project="..\..\..\..\Configuration.props" />
-  <Import Project="..\..\..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
   <Import Project="..\..\..\..\build-tools\scripts\NUnitReferences.projitems" />
   <ItemGroup>
     <Compile Remove="Resources\**\*.cs" />
@@ -29,7 +29,7 @@
   <ItemGroup>
     <PackageReference Include="Microsoft.Win32.Registry" />
     <PackageReference Include="System.IO.Hashing" Version="$(SystemIOHashingPackageVersion)" />
-    <ProjectReference Include="..\..\..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj">
+    <ProjectReference Include="..\..\..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj">
       <Project>{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}</Project>
       <Name>Xamarin.Android.Tools.AndroidSdk</Name>
     </ProjectReference>
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
index 3de33989a42..e328aa306b7 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
@@ -3,7 +3,7 @@
   <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
   <Import Project="..\..\Configuration.props" />
   <Import Project="$(XamarinAndroidSourcePath)build-tools\installers\create-installers.targets" />
-  <Import Project="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
   <Import Project="..\Xamarin.Android.NamingCustomAttributes\Xamarin.Android.NamingCustomAttributes.projitems" Label="Shared" Condition="Exists('..\Xamarin.Android.NamingCustomAttributes\Xamarin.Android.NamingCustomAttributes.projitems')" />
   <Import Project="$(XamarinAndroidSourcePath)build-tools\banned-apis\banned-apis.targets" />
 
@@ -263,8 +263,8 @@
     <ProjectReference Include="..\bundletool\bundletool.csproj">
       <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj" />
-    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
+    <ProjectReference Include="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj" />
+    <ProjectReference Include="..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
   </ItemGroup>
 
   <!-- Import Microsoft.NET.Sdk targets before our targets so we can override behavior -->
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.props.in b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.props.in
index d25dca5bf76..146f3f053ad 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.props.in
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.props.in
@@ -1,5 +1,5 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-	<!-- Android Sdk Tool versions are sourced from this file. This is maintained in the xamarin-android-tools repo. -->
+	<!-- Android Sdk Tool versions are sourced from this file. This is maintained in the android-tools repo. -->
 	<Import Project="$(MSBuildThisFileDirectory)\Xamarin.Android.Tools.Versions.props" />
 	<PropertyGroup>
 		<_JavaInteropReferences>Java.Interop;System.Runtime</_JavaInteropReferences>
diff --git a/src/native/monodroid/internal-pinvoke-api.cc b/src/native/monodroid/internal-pinvoke-api.cc
index 13838e90134..365e88b28f6 100644
--- a/src/native/monodroid/internal-pinvoke-api.cc
+++ b/src/native/monodroid/internal-pinvoke-api.cc
@@ -324,7 +324,7 @@ monodroid_dylib_mono_free ([[maybe_unused]] void *mono_imports)
 
 /*
   this function is used from JavaInterop and should be treated as public API
-  https://github.com/xamarin/java.interop/blob/master/src/java-interop/java-interop-gc-bridge-mono.c#L266
+  https://github.com/dotnet/java-interop/blob/master/src/java-interop/java-interop-gc-bridge-mono.c#L266
 
   it should also accept libmono_path = nullptr parameter
 */
diff --git a/src/native/monodroid/pinvoke-override-api.cc b/src/native/monodroid/pinvoke-override-api.cc
index c020027eb8a..8813e98f40c 100644
--- a/src/native/monodroid/pinvoke-override-api.cc
+++ b/src/native/monodroid/pinvoke-override-api.cc
@@ -327,7 +327,7 @@ monodroid_dylib_mono_free ([[maybe_unused]] void *mono_imports)
 
 /*
   this function is used from JavaInterop and should be treated as public API
-  https://github.com/xamarin/java.interop/blob/master/src/java-interop/java-interop-gc-bridge-mono.c#L266
+  https://github.com/dotnet/java-interop/blob/master/src/java-interop/java-interop-gc-bridge-mono.c#L266
 
   it should also accept libmono_path = nullptr parameter
 */
diff --git a/tests/MSBuildDeviceIntegration/MSBuildDeviceIntegration.csproj b/tests/MSBuildDeviceIntegration/MSBuildDeviceIntegration.csproj
index 406eb288e40..5000b983610 100644
--- a/tests/MSBuildDeviceIntegration/MSBuildDeviceIntegration.csproj
+++ b/tests/MSBuildDeviceIntegration/MSBuildDeviceIntegration.csproj
@@ -12,7 +12,7 @@
   </PropertyGroup>
 
   <Import Project="..\..\Configuration.props" />
-  <Import Project="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
   <Import Project="..\..\build-tools\scripts\NUnitReferences.projitems" />
 
   <ItemGroup>
diff --git a/tools/assembly-store-reader-mk2/assembly-store-reader.csproj b/tools/assembly-store-reader-mk2/assembly-store-reader.csproj
index 81520d99671..70e33ea3441 100644
--- a/tools/assembly-store-reader-mk2/assembly-store-reader.csproj
+++ b/tools/assembly-store-reader-mk2/assembly-store-reader.csproj
@@ -26,7 +26,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
+    <ProjectReference Include="..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
   </ItemGroup>
 
   <Import Project="$(XAPackagesDir)\Xamarin.LibZipSharp.$(LibZipSharpVersion)\build\Xamarin.LibZipSharp.targets" Condition="Exists('$(XAPackagesDir)\Xamarin.LibZipSharp.$(LibZipSharpVersion)\build\Xamarin.LibZipSharp.targets')" />

From 41d942dbe086b9cb39878b3cc1e537590013ecca Mon Sep 17 00:00:00 2001
From: Peter Collins <pecolli@microsoft.com>
Date: Thu, 13 Jun 2024 14:23:14 -0400
Subject: [PATCH 2/5] Bump to dotnet/java-interop@25a06f65

---
 .gitmodules           | 14 ++++++++------
 external/Java.Interop |  2 +-
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/.gitmodules b/.gitmodules
index 6bc9b8b8cfd..4fc64b9e4c8 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,6 +10,10 @@
     path = external/debugger-libs
     url = https://github.com/mono/debugger-libs
     branch = main
+[submodule "external/Java.Interop"]
+    path = external/Java.Interop
+    url = https://github.com/dotnet/java-interop
+    branch = main
 [submodule "external/libunwind"]
     path = external/libunwind
     url = https://github.com/libunwind/libunwind.git
@@ -22,13 +26,11 @@
     path = external/robin-map
     url = https://github.com/xamarin/robin-map
     branch = master
+[submodule "external/android-tools"]
+    path = external/android-tools
+    url = https://github.com/dotnet/android-tools
+    branch = main
 [submodule "external/xxHash"]
     path = external/xxHash
     url = https://github.com/Cyan4973/xxHash.git
     branch = release
-[submodule "external/android-tools"]
-	path = external/android-tools
-	url = https://github.com/dotnet/android-tools
-[submodule "external/Java.Interop"]
-	path = external/Java.Interop
-	url = https://github.com/dotnet/java-interop
diff --git a/external/Java.Interop b/external/Java.Interop
index f935001d9fd..25a06f659a0 160000
--- a/external/Java.Interop
+++ b/external/Java.Interop
@@ -1 +1 @@
-Subproject commit f935001d9fd1c92f0279f1f4c08af08092a6eaa3
+Subproject commit 25a06f659a060ebf9d1de2a222fe647733c98f8b

From 10a08b7b996a4ecb0c61215c7f8886d1f0b9a4a8 Mon Sep 17 00:00:00 2001
From: Peter Collins <pecolli@microsoft.com>
Date: Thu, 13 Jun 2024 15:21:41 -0400
Subject: [PATCH 3/5] Bump to dotnet/android-tools@da2c33e8

---
 external/android-tools | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/external/android-tools b/external/android-tools
index 260622579ed..da2c33e8ff4 160000
--- a/external/android-tools
+++ b/external/android-tools
@@ -1 +1 @@
-Subproject commit 260622579ed5755def0558e46c154320ecbcc866
+Subproject commit da2c33e8ff4ee71a5b96917caaad5bdb2e87a89f

From 0ce65d97fe176a20f26676256dd338e32b9f3ef1 Mon Sep 17 00:00:00 2001
From: Peter Collins <pecolli@microsoft.com>
Date: Thu, 13 Jun 2024 17:11:37 -0400
Subject: [PATCH 4/5] Revert android-tools submodule path changes

---
 .gitmodules                                                 | 4 ++--
 Xamarin.Android.Build.Tasks.sln                             | 4 ++--
 Xamarin.Android.sln                                         | 6 +++---
 .../Xamarin.Android.Tools.BootstrapTasks.csproj             | 4 ++--
 .../scripts/Configuration.Java.Interop.Override.in.props    | 2 +-
 build-tools/scripts/XAVersionInfo.targets                   | 2 +-
 build-tools/xa-prep-tasks/xa-prep-tasks.csproj              | 4 ++--
 .../xaprepare/xaprepare/ConfigAndData/Configurables.cs      | 2 +-
 external/Java.Interop.override.props                        | 2 +-
 external/android-tools                                      | 1 -
 external/monodroid.override.props                           | 2 +-
 external/xamarin-android-tools                              | 1 +
 .../Xamarin.Android.Build.Tests.csproj                      | 4 ++--
 .../Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj  | 4 ++--
 .../Xamarin.Android.Build.Tasks.csproj                      | 6 +++---
 .../MSBuildDeviceIntegration.csproj                         | 2 +-
 .../assembly-store-reader-mk2/assembly-store-reader.csproj  | 2 +-
 17 files changed, 26 insertions(+), 26 deletions(-)
 delete mode 160000 external/android-tools
 create mode 160000 external/xamarin-android-tools

diff --git a/.gitmodules b/.gitmodules
index 4fc64b9e4c8..a28e5d83047 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -26,8 +26,8 @@
     path = external/robin-map
     url = https://github.com/xamarin/robin-map
     branch = master
-[submodule "external/android-tools"]
-    path = external/android-tools
+[submodule "external/xamarin-android-tools"]
+    path = external/xamarin-android-tools
     url = https://github.com/dotnet/android-tools
     branch = main
 [submodule "external/xxHash"]
diff --git a/Xamarin.Android.Build.Tasks.sln b/Xamarin.Android.Build.Tasks.sln
index a7372538664..29fa734d988 100644
--- a/Xamarin.Android.Build.Tasks.sln
+++ b/Xamarin.Android.Build.Tasks.sln
@@ -21,9 +21,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Debugging.Soft", "exte
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vswhere", "tools\vswhere\vswhere.csproj", "{DBDC804F-8406-4F5E-83C6-720CB0CB6C6F}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Android.Build.BaseTasks", "external\android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj", "{3DE17662-DCD6-4F49-AF06-D39AACC8649A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Android.Build.BaseTasks", "external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj", "{3DE17662-DCD6-4F49-AF06-D39AACC8649A}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}"
 EndProject
 Global
 	GlobalSection(SharedMSBuildProjectFiles) = preSolution
diff --git a/Xamarin.Android.sln b/Xamarin.Android.sln
index bc374e717c0..eaf3ea4fb2e 100644
--- a/Xamarin.Android.sln
+++ b/Xamarin.Android.sln
@@ -67,11 +67,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Android.Export", "src\
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Android.Runtime", "src\Mono.Android.Runtime\Mono.Android.Runtime.csproj", "{43564FB3-0F79-4FF4-A2B0-B1637072FF01}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Android.Build.BaseTasks", "external\android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj", "{3DE17662-DCD6-4F49-AF06-D39AACC8649A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Android.Build.BaseTasks", "external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj", "{3DE17662-DCD6-4F49-AF06-D39AACC8649A}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk", "external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj", "{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk-Tests", "external\android-tools\tests\Xamarin.Android.Tools.AndroidSdk-Tests\Xamarin.Android.Tools.AndroidSdk-Tests.csproj", "{1E5501E8-49C1-4659-838D-CC9720C5208F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.AndroidSdk-Tests", "external\xamarin-android-tools\tests\Xamarin.Android.Tools.AndroidSdk-Tests\Xamarin.Android.Tools.AndroidSdk-Tests.csproj", "{1E5501E8-49C1-4659-838D-CC9720C5208F}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "r8", "src\r8\r8.csproj", "{1BAFA0CC-0377-46CE-AB7B-7BB2E7B62F63}"
 EndProject
diff --git a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
index 91e3b85c25a..d3ab591a159 100644
--- a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
+++ b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
@@ -9,7 +9,7 @@
   </PropertyGroup>
 
   <Import Project="..\..\Configuration.props" />
-  <Import Project="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
 
   <ItemGroup>
     <PackageReference Include="Microsoft.DotNet.ApiCompat" Version="$(MicrosoftDotNetApiCompatPackageVersion)" IncludeAssets="none" />
@@ -18,7 +18,7 @@
 
   <ItemGroup>
     <ProjectReference Include="..\xa-prep-tasks\xa-prep-tasks.csproj" />
-    <ProjectReference Include="..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
+    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
   </ItemGroup>
 
   <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
diff --git a/build-tools/scripts/Configuration.Java.Interop.Override.in.props b/build-tools/scripts/Configuration.Java.Interop.Override.in.props
index 14bd039c2db..76ac996a267 100644
--- a/build-tools/scripts/Configuration.Java.Interop.Override.in.props
+++ b/build-tools/scripts/Configuration.Java.Interop.Override.in.props
@@ -4,6 +4,6 @@
     <_XamarinAndroidCecilVersion>@MonoCecilVersion@</_XamarinAndroidCecilVersion>
     <UtilityOutputFullPath>$(MSBuildThisFileDirectory)..\..\bin\$(Configuration)\lib\xamarin.android\xbuild\Xamarin\Android\</UtilityOutputFullPath>
     <UtilityOutputFullPathCoreApps>@MicrosoftAndroidSdkOutDir@</UtilityOutputFullPathCoreApps>
-    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)..\..\external\android-tools</XamarinAndroidToolsDirectory>
+    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)..\..\external\xamarin-android-tools</XamarinAndroidToolsDirectory>
   </PropertyGroup>
 </Project>
diff --git a/build-tools/scripts/XAVersionInfo.targets b/build-tools/scripts/XAVersionInfo.targets
index d9ac56b463f..82d4d5d1f65 100644
--- a/build-tools/scripts/XAVersionInfo.targets
+++ b/build-tools/scripts/XAVersionInfo.targets
@@ -15,7 +15,7 @@
       <_SubmoduleBranchInfo Include="external/Java.Interop">
         <OutputPropertyName>_BuildInfo_JavaInteropCommit</OutputPropertyName>
       </_SubmoduleBranchInfo>
-      <_SubmoduleBranchInfo Include="external/android-tools">
+      <_SubmoduleBranchInfo Include="external/xamarin-android-tools">
         <OutputPropertyName>_BuildInfo_XamarinAndroidToolsCommit</OutputPropertyName>
       </_SubmoduleBranchInfo>
     </ItemGroup>
diff --git a/build-tools/xa-prep-tasks/xa-prep-tasks.csproj b/build-tools/xa-prep-tasks/xa-prep-tasks.csproj
index b698a31bc17..4cb84d00174 100644
--- a/build-tools/xa-prep-tasks/xa-prep-tasks.csproj
+++ b/build-tools/xa-prep-tasks/xa-prep-tasks.csproj
@@ -7,10 +7,10 @@
   </PropertyGroup>
 
   <Import Project="..\..\Configuration.props" />
-  <Import Project="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
 
   <ItemGroup>
-    <ProjectReference Include="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj" />
+    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj" />
   </ItemGroup>
 
 </Project>
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs
index e3f1a980f83..448d744c14a 100644
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs
+++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs
@@ -189,7 +189,7 @@ public static partial class Paths
 			public static readonly string ExternalDir                      = Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "external");
 			public static readonly string ExternalGitDepsFilePath          = Path.Combine (BuildPaths.XamarinAndroidSourceRoot, ".external");
 			public static readonly string ExternalGitDepsDestDir           = ExternalDir;
-			public static readonly string ExternalXamarinAndroidToolsSln   = Path.Combine (ExternalDir, "android-tools", "Xamarin.Android.Tools.sln");
+			public static readonly string ExternalXamarinAndroidToolsSln   = Path.Combine (ExternalDir, "xamarin-android-tools", "Xamarin.Android.Tools.sln");
 			public static readonly string NativeSourcesDir                 = Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "src", "native");
 
 			// Dynamic locations used throughout the code
diff --git a/external/Java.Interop.override.props b/external/Java.Interop.override.props
index 89fd9cfa7e8..5242a70af3f 100644
--- a/external/Java.Interop.override.props
+++ b/external/Java.Interop.override.props
@@ -1,7 +1,7 @@
 <Project>
 
   <PropertyGroup>
-    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)android-tools</XamarinAndroidToolsDirectory>
+    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)xamarin-android-tools</XamarinAndroidToolsDirectory>
     <Standalone>True</Standalone>
   </PropertyGroup>
 
diff --git a/external/android-tools b/external/android-tools
deleted file mode 160000
index da2c33e8ff4..00000000000
--- a/external/android-tools
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit da2c33e8ff4ee71a5b96917caaad5bdb2e87a89f
diff --git a/external/monodroid.override.props b/external/monodroid.override.props
index a6226d41fa2..8cbac6945cf 100644
--- a/external/monodroid.override.props
+++ b/external/monodroid.override.props
@@ -1,7 +1,7 @@
 <Project>
 
   <PropertyGroup>
-    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)android-tools</XamarinAndroidToolsDirectory>
+    <XamarinAndroidToolsDirectory>$(MSBuildThisFileDirectory)xamarin-android-tools</XamarinAndroidToolsDirectory>
   </PropertyGroup>
 
 </Project>
diff --git a/external/xamarin-android-tools b/external/xamarin-android-tools
new file mode 160000
index 00000000000..1c09dcc1949
--- /dev/null
+++ b/external/xamarin-android-tools
@@ -0,0 +1 @@
+Subproject commit 1c09dcc194995144ddbde3c15ccfd1b9f01131d0
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Xamarin.Android.Build.Tests.csproj b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Xamarin.Android.Build.Tests.csproj
index 367eb0d43a8..749318c47ab 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Xamarin.Android.Build.Tests.csproj
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Xamarin.Android.Build.Tests.csproj
@@ -12,7 +12,7 @@
   </PropertyGroup>
 
   <Import Project="..\..\..\..\Configuration.props" />
-  <Import Project="..\..\..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
   <Import Project="..\..\..\..\build-tools\scripts\NUnitReferences.projitems" />
 
   <ItemGroup>
@@ -25,7 +25,7 @@
   <ItemGroup>
     <ProjectReference Include="..\Xamarin.ProjectTools\Xamarin.ProjectTools.csproj" />
     <ProjectReference Include="..\..\Xamarin.Android.Build.Tasks.csproj" />
-    <ProjectReference Include="..\..\..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
+    <ProjectReference Include="..\..\..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj
index 961fa60f25e..2482944cc97 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj
@@ -10,7 +10,7 @@
     <_IncludeMicrosoftBuildPackage>true</_IncludeMicrosoftBuildPackage>
   </PropertyGroup>
   <Import Project="..\..\..\..\Configuration.props" />
-  <Import Project="..\..\..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
   <Import Project="..\..\..\..\build-tools\scripts\NUnitReferences.projitems" />
   <ItemGroup>
     <Compile Remove="Resources\**\*.cs" />
@@ -29,7 +29,7 @@
   <ItemGroup>
     <PackageReference Include="Microsoft.Win32.Registry" />
     <PackageReference Include="System.IO.Hashing" Version="$(SystemIOHashingPackageVersion)" />
-    <ProjectReference Include="..\..\..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj">
+    <ProjectReference Include="..\..\..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj">
       <Project>{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}</Project>
       <Name>Xamarin.Android.Tools.AndroidSdk</Name>
     </ProjectReference>
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
index e328aa306b7..3de33989a42 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
@@ -3,7 +3,7 @@
   <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
   <Import Project="..\..\Configuration.props" />
   <Import Project="$(XamarinAndroidSourcePath)build-tools\installers\create-installers.targets" />
-  <Import Project="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
   <Import Project="..\Xamarin.Android.NamingCustomAttributes\Xamarin.Android.NamingCustomAttributes.projitems" Label="Shared" Condition="Exists('..\Xamarin.Android.NamingCustomAttributes\Xamarin.Android.NamingCustomAttributes.projitems')" />
   <Import Project="$(XamarinAndroidSourcePath)build-tools\banned-apis\banned-apis.targets" />
 
@@ -263,8 +263,8 @@
     <ProjectReference Include="..\bundletool\bundletool.csproj">
       <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj" />
-    <ProjectReference Include="..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
+    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj" />
+    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
   </ItemGroup>
 
   <!-- Import Microsoft.NET.Sdk targets before our targets so we can override behavior -->
diff --git a/tests/MSBuildDeviceIntegration/MSBuildDeviceIntegration.csproj b/tests/MSBuildDeviceIntegration/MSBuildDeviceIntegration.csproj
index 5000b983610..406eb288e40 100644
--- a/tests/MSBuildDeviceIntegration/MSBuildDeviceIntegration.csproj
+++ b/tests/MSBuildDeviceIntegration/MSBuildDeviceIntegration.csproj
@@ -12,7 +12,7 @@
   </PropertyGroup>
 
   <Import Project="..\..\Configuration.props" />
-  <Import Project="..\..\external\android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
+  <Import Project="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\MSBuildReferences.projitems" />
   <Import Project="..\..\build-tools\scripts\NUnitReferences.projitems" />
 
   <ItemGroup>
diff --git a/tools/assembly-store-reader-mk2/assembly-store-reader.csproj b/tools/assembly-store-reader-mk2/assembly-store-reader.csproj
index 70e33ea3441..81520d99671 100644
--- a/tools/assembly-store-reader-mk2/assembly-store-reader.csproj
+++ b/tools/assembly-store-reader-mk2/assembly-store-reader.csproj
@@ -26,7 +26,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\external\android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
+    <ProjectReference Include="..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
   </ItemGroup>
 
   <Import Project="$(XAPackagesDir)\Xamarin.LibZipSharp.$(LibZipSharpVersion)\build\Xamarin.LibZipSharp.targets" Condition="Exists('$(XAPackagesDir)\Xamarin.LibZipSharp.$(LibZipSharpVersion)\build\Xamarin.LibZipSharp.targets')" />

From a6112cdf738eb7c2375c5bd2f9c32c3dca6eb8bf Mon Sep 17 00:00:00 2001
From: Peter Collins <pecolli@microsoft.com>
Date: Thu, 13 Jun 2024 17:13:28 -0400
Subject: [PATCH 5/5] Bump refs

---
 external/Java.Interop          | 2 +-
 external/xamarin-android-tools | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/external/Java.Interop b/external/Java.Interop
index 25a06f659a0..f935001d9fd 160000
--- a/external/Java.Interop
+++ b/external/Java.Interop
@@ -1 +1 @@
-Subproject commit 25a06f659a060ebf9d1de2a222fe647733c98f8b
+Subproject commit f935001d9fd1c92f0279f1f4c08af08092a6eaa3
diff --git a/external/xamarin-android-tools b/external/xamarin-android-tools
index 1c09dcc1949..da2c33e8ff4 160000
--- a/external/xamarin-android-tools
+++ b/external/xamarin-android-tools
@@ -1 +1 @@
-Subproject commit 1c09dcc194995144ddbde3c15ccfd1b9f01131d0
+Subproject commit da2c33e8ff4ee71a5b96917caaad5bdb2e87a89f
