Before you begin, make sure you have the following installed:
- Node.js 24 — the app requires Node 24 specifically
- Android Studio — for the Android emulator
Check your current Node version:
node --versionIf it's not version 24, install and switch to it using NVM:
# install and use node 24
nvm install 24.14.0
nvm use 24.14.0
# verify
node --version # verify it is v24.x.x- Download Android Studio from https://developer.android.com/studio
- Extract and install it:
tar -xzf android-studio-*-linux.tar.gz
sudo mv android-studio /opt/android-studio
/opt/android-studio/bin/studio.sh- Follow the setup wizard — it will download the Android SDK automatically. Just click through the defaults.
Optional: Add Android Studio to your applications menu
sudo gedit /usr/share/applications/android-studio.desktopPaste this in and save:
[Desktop Entry]
Version=1.0
Type=Application
Name=Android Studio
Exec=/opt/android-studio/bin/studio.sh
Icon=/opt/android-studio/bin/studio128.png
Categories=Development;IDE;
Terminal=false
StartupNotify=true
Check if Java is already installed:
java -versionIf not installed, install JDK 17:
sudo apt update
sudo apt install openjdk-17-jdkFind the installation path:
readlink -f $(which java)
# example output: /usr/lib/jvm/java-17-openjdk-amd64/bin/javaYou'll need this path (minus /bin/java) in the next step when setting up environment variables.
Add the following to your ~/.bashrc:
gedit ~/.bashrcPaste at the bottom:
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/binNote: Replace
/usr/lib/jvm/java-17-openjdk-amd64with the path you found in Step 3 if it differs.
Apply the changes:
source ~/.bashrcVerify it worked:
adb --version # should print a version number
java -version # should print java 17
echo $JAVA_HOME # should print the path you set- Open Android Studio:
/opt/android-studio/bin/studio.sh - Go to More Actions → Virtual Device Manager
- Click Create Device
- Pick a phone (e.g. Pixel 6) and click Next
- Download and select a system image (API 33 or higher recommended)
- Click Finish, then press the ▶ Play button to start the emulator
Wait for the emulator to fully boot before continuing.
Clone the repo and install:
git clone https://github.com/eten-tech-foundation/fluent-mobile.git
cd fluent-mobile
git checkout MVP_PoC_mobile_companion_app
npm installOpen two terminal windows from the project root.
Terminal 1 — Start Metro:
npm startTerminal 2 — Run on Android:
npm run androidThe app should launch in your emulator automatically.
adb: command not found
Your environment variables aren't set. Make sure you completed Step 4 and ran source ~/.bashrc.
JAVA_HOME is not set error
Java may be installed but JAVA_HOME not configured. Make sure you completed Step 3 and Step 4. If the path differs, find it with:
readlink -f $(which java)Strip /bin/java from the output, update JAVA_HOME in ~/.bashrc, then run source ~/.bashrc.
npm run android fails with SDK not found
Android Studio may have installed the SDK in a different location. Check:
ls ~/Android/SdkIf that folder doesn't exist, open Android Studio → SDK Manager and note the SDK path shown at the top.
Metro bundler port already in use
npx react-native start --reset-cacheApp installs but shows blank screen
Make sure Metro is running in the other terminal before running npm run android.
Once the app is running, open any file in your editor and save — the app will reload automatically via Fast Refresh.
To force a full reload on Android: press R twice, or use Ctrl + M to open the Dev Menu.