Skip to content

v15 - fix multi-port adb candidate handling

Choose a tag to compare

@Jordan231111 Jordan231111 released this 03 Jun 16:31
· 14 commits to main since this release

Fixes the reproduced Android 11/Rvc64 DATA-stage adb wait failure where logs showed candidates=System.Object[] and adb received a malformed serial such as 127.0.0.1:5555 5557, causing error: unknown host service.

What changed:

  • Get-AdbPortCandidates now returns a flat list, so Boot-And-Wait tries 127.0.0.1:<port> candidates one at a time instead of joining multiple ports into one invalid serial.
  • Existing priority is preserved: BlueStacks status.adb_port, then adb_port, then live listening ports, then fallback 5555.
  • Added a heavy CI-safe pure unit suite for the Magisk orchestrator: candidate-port matrices, array-shape regression checks, log redaction, adb server-port selection, HD-Player instance matching, adb retry classifiers, path helpers, and stray su parsing.
  • Re-embedded the updated orchestrator into blueStackRoot.cmd.

Validation:

  • Magisk orchestrator pure unit tests: 231 passed, 0 failed.
  • Resolver tests: 49 passed, 0 failed.
  • Existing local tests: 28 passed, 0 failed.
  • Embedded sync check passed.
  • Parser check passed.
  • Private-path scan found no local user-profile paths.

No Magisk APK, su payload, debugfs, ext4 write flow, or rooting payload logic changed beyond the adb candidate-list flattening fix.

Asset:

  • blueStackRoot.cmd
  • Size: 21,381,588 bytes
  • SHA256: 6AB16C7993E88D6B976BB9B838FA4641CE94AF1F2E0D625DF782B921673B4F8D