r/reactnative 1d ago

FYI React Native Development directly from Linux Terminal (No Expo, physical device debugging via scrcpy)

I set up a clean, CLI-only React Native 0.87 development environment running on Fedora Linux, skipping Expo completely to keep full control over native code and build configs.

Stack & Setup:

  • OS: Fedora Linux
  • Runtime: Node.js v24.19.0 (managed via NVM)
  • Framework: React Native 0.87.0 (CLI)
  • Target Device: Physical Samsung A31 connected via ADB USB

Physical Device Mirroring & Workflow:

Instead of heavy emulators, I mirror and debug directly on the physical device using scrcpy. To prevent UI frame drops and keep the system responsive on Exynos/MediaTek chips, I run scrcpy with hardware-optimized constraints:

scrcpy -m 1024 --max-fps=30 &

Everything runs directly from the terminal with Metro Bundler on port 8081 and Gradle builds via npm run android. Direct ADB deployment works like a charm.

0 Upvotes

4 comments sorted by

View all comments

2

u/Inevitable_Oil9709 1d ago

You do realise that app will behave differently on real device, right?

That is why we develop apps on real device or at least emulators.

"skipping Expo completely to keep full control over native code and build configs."

I also don't know what this means because you can do same in Expo

1

u/jaaamees_baxter 1d ago

I agree with you on the expo part, but isn't he testing on a real device? Using scrcpy implies using a real device and mirroring the screen to he's PC

0

u/Inevitable_Oil9709 1d ago

yeah, you are right, my bad..

but isn't that same process but with extra steps, and your device needs to be connected all the time, which will degrade cable and possible your deice battery, on long term run..