Files
AdvDebug dbcbc5084a Add Android host support (arm64, GDI, Vulkan)
Brovan now runs on Android as a third host alongside Windows and Linux.

New Brovan android embedding layer. The emulator becomes a NativeAOT shared
library driven by a host app rather than a process with a Main:

- BrovanAndroidApi - exported C ABI (init, surface, start, input injection,
  window enumeration, debugger commands).
- AndroidWinManager - IDisplayConnection over ANativeWindow, plus
  IGdiRenderSupport.
- AndroidGdiSurface - software rasteriser (lines, rects, ellipses, polygons)
  into a per-guest-window backbuffer posted via ANativeWindow_lock/
  unlockAndPost, white background.
- AndroidVulkanWsi and a generator branch - VK_KHR_android_surface instead of
  Win32/Xcb.
- AndroidInput, AndroidLog, AndroidHost, AndroidGuestWindows, JNI shim, Java
  bindings.
- Launcher app: Material 3 library, in-app program import via SAF, settings,
  on-screen joystick/D-pad/touchpad controls, opt-in developer console wired to
  the debugger.
- build-apk.sh - Unicorn cross-build, linux-bionic-arm64 publish, bundled
  OpenSSL, APK assembly.

Changes to shared emulator code:

- Case-insensitive shipped-DLL resolution in GetWindowsLibPath. Import tables
  say KERNEL32.dll, System32 ships kernel32.dll; broken on any case-sensitive
  host, and it surfaced as a guest loading zero modules.
- GlobalPropertiesToRemove on the generator ProjectReference. Target-shaped
  properties leaked into the analyzer, csc silently refused to load it (CS8034
  is only a warning), and every source generator emitted nothing.
- GdiPrimitive.Hwnd. The four EnqueueGdi* helpers already had the guest HWND and
  dropped it, making per-window compositing impossible.
- Program.SplitCommandLine widened to internal for embedders.
Windows and Linux behaviour is unchanged; the new paths are gated on the RID or
!IsWindows.
2026-08-02 19:10:51 +03:00
..
2026-06-01 01:06:36 +03:00
2026-06-15 23:46:12 +03:00