Skip to content

fix(android): preserve device profiles, task paths and command context - #2834

Open
OskarEichler wants to merge 1 commit into
react-native-community:mainfrom
OskarEichler:codex/cli-android-command-flow
Open

fix(android): preserve device profiles, task paths and command context#2834
OskarEichler wants to merge 1 commit into
react-native-community:mainfrom
OskarEichler:codex/cli-android-command-flow

Conversation

@OskarEichler

@OskarEichler OskarEichler commented Aug 28, 2026

Copy link
Copy Markdown

Fixes

Use argv-based ADB discovery without grep; preserve ABI fallback; install and launch under the selected user including 0; query profiles after emulator launch; preserve caller cwd and project config; reject missing selected devices; retain qualified Gradle task paths; locate interactive flavor APKs with correct casing; validate binary paths before starting Metro.

Compatibility and observable changes

Missing selected devices now reject instead of reporting success. --user applies consistently to installation and launch. Existing emulator framework-readiness PR #2830 is not duplicated. No native SDK or runtime dependency upgrade.

Verification

  • Applied this patch independently to main at 9013a480c66aece0e23cc8082ee23f92274e3cf4; 22 focused actual-source controls passed. The published tree matches the independently verified local tree exactly, including executable permissions.
  • Combined source build and existing unit suite passed: 56 suites, 314 tests, one todo, 62 snapshots. Full ESLint passed with two pre-existing warnings (an unchanged test URL and an unchanged template-version quote). No tests/specs/snapshots were added, changed or suppressed.
  • Standalone diagnostics reproduced the relevant failures or unnecessary work on the unmodified baseline and were kept outside the repository.
  • Broad end-to-end invocation was stopped while an external dependency install stalled; it is not reported as passing. Real device/profile interaction, physical-device behavior, Windows execution and hosted CI remain unverified.
  • Consumer verification on RN 0.87.1: integrity-verified 20.2.0 package artifacts with the reviewed overlays are now installed using immutable commit pins; all 392 installed files match. Before/after native autolinking configurations are identical (27 Android / 26 iOS dependencies). Immutable install, ESLint, CocoaPods, all 13 production web targets, four browser extensions, both Android Debug flavors, both unsigned iOS arm64 Simulator Debug schemes and all four production Metro bundles pass. Existing peer/export-map/build warnings remain; Xcode recovered from a cached bridging-header diagnostic and exited successfully. No signing, physical-device certification, app push or deployment. Strict XML validation draft fix(android): reject invalid manifest XML before parsing #2844 is excluded from these artifacts.
  • Consumer artifact commits (OskarEichler/cli): CLI de1aabb75931032240c3b9daefc0cf77276935cd; platform Android 0d92368fb31e92edbea9bfb002392c891688bd82; config 5ef410e4f719a4ab87591b01ebfbacf1d18fa8be; config Android 946a49e5ad888b535274ff1d7977e680683a0d38; tools c05d7c087c4c14a736b8a6f82ce10f0e340a05b6. These are package artifacts, not additional source changes in this PR.

Type: fix

No React Native, native SDK, or package version bump is included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant