linux-arm64 host build for Microsoft.Android.Sdk.Linux
- Dominant language
- C#
- Stars
- 2.1k
- Forks
- 579
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 252
Description
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//`:
- `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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.