Commit 938fdae
Add JDK installation support via Microsoft OpenJDK
Implements issue #270: Add JdkInstaller class to Xamarin.Android.Tools.AndroidSdk
that enables consumers to auto-install missing JDKs.
API surface:
- JdkInstaller.DiscoverAsync() - probe Microsoft OpenJDK URLs for available versions
- JdkInstaller.InstallAsync() - download, verify SHA-256 checksum, extract JDK
- JdkInstaller.IsValid() - validate an existing JDK installation via JdkInfo
Supporting types:
- JdkVersionInfo - available JDK version metadata (download URL, checksum URL, size)
- JdkInstallProgress / JdkInstallPhase - progress reporting during installation
The implementation:
- Uses Microsoft Build of OpenJDK (https://www.microsoft.com/openjdk)
- Downloads via stable aka.ms/download-jdk URLs
- SHA-256 checksum verification from companion .sha256sum.txt files
- Targets netstandard2.0 so it can run inside Visual Studio
- Instance class with Action<TraceLevel, string> logger (consistent with
JdkInfo, AndroidSdkInfo, and other repo conventions)
- Supports Windows (zip), macOS and Linux (tar.gz) archives
- Handles macOS Contents/Home bundle structure
- IProgress<T> support for download/extract progress reporting
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent ebd3aaf commit 938fdae
2 files changed
Lines changed: 784 additions & 0 deletions
File tree
- src/Xamarin.Android.Tools.AndroidSdk
- tests/Xamarin.Android.Tools.AndroidSdk-Tests
0 commit comments