Repository navigation
Remove unused Android ILLink project - #13107
Merged
Merged
Conversation
Drop its solution and pack integration, retain preserve descriptors under the SDK project, and remove the unused AndroidLinkConfiguration type. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The existing SDK packaging test must cover all five relocated preserve-list files.
0 open findings
What changed in this PR
Removes the unused ILLink project while retaining its linker-preservation descriptors in the Android SDK pack.
Changes:
- Deletes the obsolete ILLink project, implementation, and resources.
- Moves five preserve lists into the existing SDK directory.
- Removes solution, localization, compilation, and packaging references.
| File | Description |
|---|---|
Microsoft.Android.slnx |
Removes the ILLink project. |
Localize/LocProject.json |
Removes localization registration. |
build-tools/create-packs/Microsoft.Android.Sdk.proj |
Removes ILLink assembly packaging and consolidates preserve-list packaging. |
src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj |
Removes the dead configuration source. |
src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/AndroidLinkConfiguration.cs |
Deletes the unused type. |
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/PreserveLists/Java.Interop.xml |
Relocates Java.Interop preservation rules. |
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/PreserveLists/Mono.Android.Runtime.xml |
Relocates runtime preservation rules. |
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/PreserveLists/Mono.Android.xml |
Relocates Mono.Android preservation rules. |
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/PreserveLists/System.Runtime.InteropServices.xml |
Relocates interop preservation rules. |
src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/PreserveLists/System.Runtime.xml |
Relocates runtime type-forward preservation rules. |
src/Microsoft.Android.Sdk.ILLink/README.md |
Removes obsolete project documentation. |
src/Microsoft.Android.Sdk.ILLink/Properties/Resources.resx |
Removes unused resources. |
src/Microsoft.Android.Sdk.ILLink/Properties/Resources.Designer.cs |
Removes generated resource accessors. |
src/Microsoft.Android.Sdk.ILLink/PreserveSubStepDispatcher.cs |
Removes the obsolete dispatcher. |
src/Microsoft.Android.Sdk.ILLink/PreserveRegistrations.cs |
Removes unused linker logic. |
src/Microsoft.Android.Sdk.ILLink/PreserveJavaInterfaces.cs |
Removes unused linker logic. |
src/Microsoft.Android.Sdk.ILLink/PreserveJavaExceptions.cs |
Removes unused linker logic. |
src/Microsoft.Android.Sdk.ILLink/PreserveExportedTypes.cs |
Removes unused linker logic. |
src/Microsoft.Android.Sdk.ILLink/PreserveApplications.cs |
Removes unused linker logic. |
src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj |
Deletes the project definition. |
src/Microsoft.Android.Sdk.ILLink/MarkJavaObjects.cs |
Removes unused Java-object marking logic. |
src/Microsoft.Android.Sdk.ILLink/Extensions.cs |
Removes unused linker extensions. |
Files not reviewed (1)
- src/Microsoft.Android.Sdk.ILLink/Properties/Resources.Designer.cs: Generated file
🧠 Review effort: Balanced
jonathanpeppers
approved these changes
Oct 13, 2026
simonrozsival
enabled auto-merge (squash)
October 13, 2026 14:12
Copy the remaining trimmer descriptors into the locally built SDK and include descriptor packaging checks in smoke tests. Remove five legacy descriptors no longer consumed by the trimming targets. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
jonathanpeppers
approved these changes
Oct 13, 2026
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
Microsoft.Android.Sdk.ILLinkproject and its solution, localization, and SDK-pack integration.PreserveListsdirectory.AndroidLinkConfigurationtype and its project compile include.Related issues
Validation
./dotnet-local.sh build Microsoft.Android.slnx -c Debug(91 warnings, 0 errors)../dotnet-local.sh test bin/TestDebug/net10.0/Xamarin.Android.Build.Tests.dll --filter 'FullyQualifiedName~LinkAssembliesNoShrinkLegacyCompatibilityFixups|FullyQualifiedName~FixAbstractMethodsStep_SkipDimMembers|FullyQualifiedName~FixAbstractMethodsStep_Explicit'(4 passed).make prepare && make allfailed generating the framework list becausebin/Debug/lib/xamarin.android/xbuild-frameworks/Microsoft.Android/37.1/ref/Mono.Android.dllwas missing.androidandwasm-tools-net11workloads; the preserve-list packaging check could not pass because the SDK pack was not generated.