Skip to content

linux-arm64 host build for Microsoft.Android.Sdk.Linux #11184

@SuperJMN

Description

@SuperJMN

Hi,

I've been trying to build Android apps on a Raspberry Pi 4 (linux-arm64) using the .NET 10 SDK and ran into the fact that Microsoft.Android.Sdk.Linux only ships x86_64 host binaries. I poked around and the missing pieces are pretty narrow — would it be possible to add a linux-arm64 host build to the workload pack matrix?

What's actually x86_64-only inside ~/.dotnet/packs/Microsoft.Android.Sdk.Linux/<version>/:

  • tools/Linux/aapt2
  • tools/libMono.Unix.so
  • tools/libZipSharpNative-3-3.so
  • tools/Linux/binutils/bin/{as,ld,llc,llvm-mc,llvm-objcopy,llvm-strip,...} and the matching lib*.so

Everything else under tools/lib/arm64-v8a/, tools/dsostubs/, tools/libstubs/ and the aarch64-linux-android-* cross binaries is already shipped as aarch64 (those are device payloads / cross-compilers, not host tools).

Why this matters now:

  • The .NET SDK itself is published for linux-arm64.
  • ARM dev hosts and CI runners are increasingly common (Pi 4/5, Apple Silicon Linux VMs, Ampere / Graviton).
  • qemu-user emulating amd64 isn't a viable workaround — the .NET runtime hits threading / signal issues under it (PLINQ ETW init failure, segfaults on plain dotnet new console), so you can't just run the existing pack through emulation.

I'd be happy to test any preview build on actual arm64 hardware if it helps. Is this on the radar, or is there a reason the host matrix is intentionally x86_64-only?

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageIssues that need to be assigned.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions