Skip to content

Instantly share code, notes, and snippets.

@xquangdang
Last active March 22, 2024 14:39
Show Gist options
  • Save xquangdang/d52c8d7d37e396750fca37525aa034d7 to your computer and use it in GitHub Desktop.
Save xquangdang/d52c8d7d37e396750fca37525aa034d7 to your computer and use it in GitHub Desktop.
Develop React Native app with WSL and WSA

Develop React Native app with WSL and WSA

Requirement

  • Windows Subsystem for Linux 2 (WSL2)
  • Windows Subsystem for Android (WSA)
  • NodeJS install inside WSL2

Steps

WSA

  1. Enable developer mode for WSA image

WSL2

This tutorial will run on Ubuntu 20.04

  1. Install Android debug bridge (adb)
$ sudo apt install adb
  1. Connect to WSA

image

  • Connect to WSA via IP
$ adb connect <wsa-ip:port>

image

  • Make sure ADB connect successfully
$ adb devices
List of devices attached
172.19.99.153:5555      device

React Native setup

I'll follow tutorial on ReactNative.dev

# Assuming that you have Node 12 LTS or greater installed, you can use npm to install the Expo CLI command line utility
$ sudo npm install -g expo-cli
# Then run the following commands to create a new React Native project called "AwesomeProject"
$ expo init AwesomeProject

cd AwesomeProject
$ npm start # you can also use: expo start

Select Run on Android device/emulator in expo web client image

FAQ

@Ra1NuX
Copy link

Ra1NuX commented May 17, 2023

For some reason, EXPO GO closes after trying to connect with port 19000, it gives a Java error, but after investigating, I think it may have to do with an option within the WSA settings that does not allow me to enable the wireless debugging option. It's a button that, no matter how much I press, it doesn't activate. Any other ideas?

@Ra1NuX
Copy link

Ra1NuX commented May 17, 2023

[ADB] Couldn't reverse port 19000: adb: error: cannot bind listener: Address already in use

@0xSimbaDev
Copy link

Can anyone help me? I can see the device connected when I type adb devices, nut when I try to run the emulator i get a lot of errors image

image

Set environment path in your bash profile:
`export ANDROID_HOME=/home/xxxx/Android
export ANDROID_SDK_ROOT=/home/xxxx/Android

PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
PATH=$PATH:$ANDROID_HOME/bin
`

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