Skip to content

Remove sdkmanager usage and migrate to the Android CLI for .NET 12 #12905

Description

@jonathanpeppers

Android framework version

Other

Affected platform version

.NET 12

Description

PR #12896 temporarily pins Android command-line tools 21.0 because it is the newest release where sdkmanager is not deprecated. Command-line tools 22.0 emits a deprecation warning, and 23.0 redirects users to the Android CLI.

For .NET 12, remove all sdkmanager usage from the repository and migrate the corresponding workflows to the Android CLI. This should cover production SDK tooling, installer and build-task integration, tests, scripts, documentation, and obsolete compatibility code or public API surface where appropriate.

The implementation should follow the structured package-discovery direction selected by #12472 and include migration of package discovery/listing, installation, updates, license acceptance, command-line-tools resolution/bootstrap, error handling, and relevant tests. After migration, remove the command-line-tools 21.0 compatibility pin introduced by #12896 and verify that no supported workflow invokes or instructs users to invoke sdkmanager.

References:

Steps to Reproduce

  1. Install Android command-line tools 22.0 or newer.
  2. Run a current .NET for Android SDK-management or dependency-installation workflow that invokes sdkmanager.
  3. Observe the deprecation warning or redirection to the Android CLI.

Did you find any workaround?

Continue using command-line tools 21.0 as pinned by #12896 until the migration is complete.

Relevant log output

N/A

Activity

  1. added this to the .NET 12 milestone on Sep 23, 2026
  2. added
    Area: App+Library BuildIssues when building Library projects or Application projects.
    and removed
    needs-triageIssues that need to be assigned.
    on Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: App+Library BuildIssues when building Library projects or Application projects.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions