Repository navigation
Remove legacy Android tooling assemblies - #12927
Merged
jonathanpeppers merged 2 commits intoOct 1, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Moderate test coverage gaps remain for absent SDK/JDK paths and macOS du failure and argument handling.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (1)
What changed in this PR
Removes legacy Android tooling assemblies and migrates installer SDK/JDK discovery and macOS directory-size handling to shared Android SDK tooling.
Changes:
- Deletes obsolete tooling projects, sources, packaging, and references.
- Adds installer-safe SDK/JDK discovery APIs and tests.
- Updates macOS process execution and documentation.
| File | Summary |
|---|---|
tests/Xamarin.Android.Tools.AndroidSdk-Tests/Xamarin.Android.Tools.AndroidSdk-Tests.csproj |
References installer project. |
tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInstallerTests.cs |
Adds installer discovery coverage. |
tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs |
Tests SDK/JDK discovery. |
tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidDeviceExtensionsTests.cs |
Removes obsolete tests. |
src/Xamarin.Installer.Build.Tasks/Xamarin.Installer.Build.Tasks.csproj |
Removes legacy references. |
src/Xamarin.Installer.AndroidSDK/Xamarin.Installer.AndroidSDK/DirectorySizeMonitoringTimer.cs |
Migrates macOS process execution. |
src/Xamarin.Installer.AndroidSDK/Xamarin.Installer.AndroidSDK/AndroidSDKInstaller.cs |
Uses shared SDK/JDK discovery. |
src/Xamarin.Installer.AndroidSDK/Xamarin.Installer.AndroidSDK.csproj |
References shared tooling. |
src/Xamarin.AndroidTools/Xamarin.AndroidTools.csproj |
Deletes obsolete project. |
src/Xamarin.AndroidTools/Utilities/SdkBuildProperties.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Utilities/JdkProperties.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Sdks/MonoDroidSdkWindows.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Sdks/MonoDroidSdkUnix.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Sdks/MonoDroidSdkBase.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Properties/Resources.resx |
Deletes obsolete resources. |
src/Xamarin.AndroidTools/Properties/Resources.Designer.cs |
Deletes generated resources. |
src/Xamarin.AndroidTools/ProcessUtils.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/OS.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/MonoDroidSdk.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Debugging/Java/VersionCommandPacket.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Debugging/Java/ReplyPacket.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Debugging/Java/Packet.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Debugging/Java/JdwpClient.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Debugging/Java/CommandPacket.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Debugging/ExecutionConfiguration.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Debugging/DebuggingExtensions.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/Debugging/DebuggerOptions.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/AssemblyInfo.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/AndroidVersion.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/AndroidTargetArch.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/AndroidSdkToolException.cs |
Deletes obsolete source. |
src/Xamarin.AndroidTools/AndroidBuildToolsVersion.cs |
Deletes obsolete source. |
src/Xamarin.Android.Tools.AndroidSdk/README.md |
Documents the breaking change. |
src/Xamarin.Android.Tools.AndroidSdk/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt |
Records public API changes. |
src/Xamarin.Android.Tools.AndroidSdk/PublicAPI/net11.0/PublicAPI.Unshipped.txt |
Records public API changes. |
src/Xamarin.Android.Tools.AndroidSdk/PublicAPI/net10.0/PublicAPI.Unshipped.txt |
Records public API changes. |
src/Xamarin.Android.Tools.AndroidSdk/AndroidSdkInfo.cs |
Adds installer-safe discovery. |
src/Xamarin.Android.Build.Debugging.Tasks/Xamarin.Android.Build.Debugging.Tasks.csproj |
Removes obsolete exclusions. |
src/Xamarin.Android.Build.Debugging.Tasks/Tasks/FastDeploy.Adb.cs |
Updates legacy tooling comment. |
src/Mono.AndroidTools/Util/WrapperAsyncResult.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Util/StreamExtensions.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Util/ProcessArgumentBuilder.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Util/Platform.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Util/AggregateAsyncResult.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Mono.AndroidTools.csproj |
Deletes obsolete project. |
src/Mono.AndroidTools/Internal/TrackDeviceTask.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Internal/AdbShellCommand.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Internal/AdbOutputParsing.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Internal/AdbClientTaskExtensions.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/IAndroidDevice.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AssemblyInfo.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AndroidLogger.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AndroidLogCatEntry.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AndroidInstalledPackage.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AndroidDiskInformation.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AndroidDeviceProperties.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AnalyticsService.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AdbServer.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AdbInstallFlags.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/AdbException.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Adb/AdbSyncNotification.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Adb/AdbSyncItem.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Adb/AdbSyncFile.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Adb/AdbSyncDirectory.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Adb/AdbSyncContext.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Adb/AdbFileMode.cs |
Deletes obsolete source. |
src/Mono.AndroidTools/Adb/AdbFileInfo.cs |
Deletes obsolete source. |
Microsoft.Android.slnx |
Removes deleted projects. |
Localize/LocProject.json |
Removes obsolete localization mapping. |
Documentation/project-docs/ExploringSources.md |
Updates project references. |
Directory.Build.props |
Removes obsolete documentation references. |
build-tools/installers/create-installers.targets |
Removes legacy packaging entries. |
build-tools/android-platform-support/GitInfo.txt |
Deletes obsolete metadata. |
build-tools/android-platform-support/AndroidTools.GitInfo.targets |
Deletes obsolete build targets. |
Files not reviewed (1)
- src/Xamarin.AndroidTools/Properties/Resources.Designer.cs: Generated file
5 tasks
jonathanpeppers
force-pushed
the
jonathanpeppers-remove-legacy-android-tools
branch
3 times, most recently
from
September 30, 2026 16:09
5ef574c to
b77d3f7
Compare
Base automatically changed from
jonathanpeppers-migrate-debugging-tasks-android-sdk
to
main
September 30, 2026 20:12
Migrate installer discovery and process execution to shared SDK tools; remove obsolete projects and packaged DLLs. The assembly removal intentionally breaks existing binary consumers. Co-authored-by: Copilot App <[email protected]>
Use a deterministic internal SDK locator in the regression test so machine-wide SDK and JDK installations cannot mask the first-run case. Co-authored-by: Copilot App <[email protected]>
jonathanpeppers
force-pushed
the
jonathanpeppers-remove-legacy-android-tools
branch
from
September 30, 2026 20:12
b77d3f7 to
5e3f33d
Compare
simonrozsival
approved these changes
Sep 30, 2026
jonathanpeppers
deleted the
jonathanpeppers-remove-legacy-android-tools
branch
October 1, 2026 19:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Mono.AndroidToolsandXamarin.AndroidToolsprojects and their compiled assemblies from the workload SDK pack.Xamarin.Android.Tools.AndroidSdk, preserving first-time installation when the SDK or JDK is absent.Breaking change: Tools referencing
Mono.AndroidTools.dllorXamarin.AndroidTools.dlldirectly must migrate to the supported shared Android SDK tooling APIs. Generated non-English.resxfiles undersrc/Xamarin.AndroidTools/Properties/remain untouched per repository localization policy; they are not compiled or packaged.Validation
d2f72e1c6a): installer task graph builds; focusedAndroidSdkInfoTestsandAndroidSdkInstallerTestspassed (15 passed, 2 skipped).A total of 1 test files matched the specified pattern); no last test name, result summary, or useful diagnostic was captured. The focused tests above passed, but the full suite has not been verified against the current parent head. An earlier parent revision passed 397 tests with 19 skipped; that result does not establish the current revision's full-suite status.Stacked on #12916 (which follows merged #12906).