robosats/mobile/setup.md
2023-05-27 06:01:09 -07:00

3.6 KiB

Tested on Ubuntu 20.04 and OSX 12.5.1

Ubuntu

Install JDK

Make sure you install version 17

sudo apt update
sudo apt install default-jdk
java -version

Install Android Studio

sudo add-apt-repository ppa:maarten-fonville/android-studio
sudo apt update
sudo apt install android-studio

Install watchman

wget https://github.com/facebook/watchman/releases/download/v2022.06.20.00/watchman-v2022.06.20.00-linux.zip
unzip watchman-v2022.06.20.00-linux.zip
cd watchman-v2022.06.20.00-linux
sudo mkdir -p /usr/local/{bin,lib} /usr/local/var/run/watchman
sudo cp bin/* /usr/local/bin
sudo cp lib/* /usr/local/lib
sudo chmod 755 /usr/local/bin/watchman
sudo chmod 2777 /usr/local/var/run/watchman

(If in VMware linux environment)

sudo apt install -y open-vm-tools-desktop
sudo apt install -y qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
sudo usermod -aG kvm $(whoami)
reboot

Create Emulator (or connect Android phone and install adb)

Use the GUI of Android studio to create a new virtual device. As of 26/03/2023 we are using a Pixel 5 as template and System image Tiramisu API level 33

If using a phone, start the USB debugging mode.

Open or create robosats/mobile/android/local.properties:

  • Add sdk.dir = /home/<YOUR_USERNAME>/Android/Sdk

You can check your SDK location on the GUI of Android studio: Tools > SDK Manager Make sure you have NDK installed : Tools > SDK Manager > SDK Tools > NDK (Side by Side)

Launch app builder and

Make sure you have the main.js file created on robosats/mobile/html/Web.bundle/js, if not, go to robosats/frontend/

npm run dev

Launch your emulator if you are using one:

cd ~/Android/Sdk/tools && ./emulator -avd <DEVICE_NAME>

Point a terminal to /robosats/mobile/ to start metro

npm start

And on another terminal, also in /robosats/mobile/, build and install the debug app

npx react-native run-android

You can also use react-native run-android --mode=release to fully test the release builds of the app.

OSX

Install JDK

Make sure you install version 17

https://www.oracle.com/java/technologies/downloads

Install Android Studio

Download and install https://developer.android.com/studio/index.html Make sure you have the following libraries installed globally.

npm install -g react-native-cli
brew install android-platform-tools

Open robosats/mobile/android to start the first build process.

Install watchman

Check https://github.com/facebook/watchman/releases/download or use brew:

brew install node
brew install watchman

Create Emulator (or connect Android phone and install adb)

Use the GUI of Android studio to create a new virtual devide, make sure you add enought internal storage (>= 2 GB). As of 11/10/2022 we are using a Pixel 5 as template and System image R API level 30 Android 11.0

Open or create robosats/mobile/android/local.properties:

  • Add sdk.dir = /Users/<YOUR_USERNAME>//Library/Android/sdk
  • M1 Users should also add ndk.dir= /Users/<YOUR_USERNAME>//Library/Android/sdk/ndk/{{ndkVersion}}

You can check your SDK location on the GUI of Android studio: Tools > SDK Manager Make sure you have NDK installed : Tools > SDK Manager > SDK Tools > NDK (Side by Side)

Run app

Make sure you have the main.js file created on robosats/mobile/html/Web.bundle/js, if not, go to robosats/frontend/

npm run dev

Point a terminal to robosats/mobile/

npx react-native run-android

After the build, run or debug your project on Android Studio. Alternatively, you can run the following command to check logs on terminal:

npx react-native log-android