Skip to content
This repository has been archived by the owner on Oct 28, 2023. It is now read-only.
/ ScoutingApp Public archive

[Deprecated] A mobile app for scouting FRC competitions

Notifications You must be signed in to change notification settings

Team488/ScoutingApp

Repository files navigation

Getting started

Prerequisites

  • Install Android Studio
  • Set up React Native CLI
  • Install Android SDK Command Line Tools
    • In Android Studio: Tools > SDK Manager > Appearance and Behavior > System Setttings > Android SDK
    • In the SDK Tools tab, check the box for Android SDK Command Line Tools and click OK to install
    • Add an alias for adp to your path

Starting the app

Start the app with

react-native start&
react-native run-android

This will install the dev version of the app on any connected device or simulator. WARNING: You have to run start before running run-android. If you do it the other way, the app will get stuck on a white screen (see react-native#26605)

With the app running, you can run

adb shell input keyevent 82

to open the context menu. This will let you reload or start JS debugging.

Building the release apk

Follow the instructions in the React Native docs on building.

Edit ~/.gradle/gradle.properties and add the folling (replace **** with the keystore password)

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****

Then, do this

cd android
./gradlew assembleRelease
cd ..
react-native run-android --variant=release

If you already have the dev version of the app installed, you might need to uninstall it with

cd android 
./gradlew uninstallRelease

Loading match data

Create a match list with the time and a the team list in a CSV:

Time, Red 1,Red 2,Red 3,Blue 1,Blue 2,Blue 3

The app should load match data on start, but you can also reload the data from Settings -> Load Data.

To push the sample match data to the device, run

adb push sample_match_list.csv /sdcard/match_list.csv

Versions

React Native: 0.61.5 MobX: 5.0

React Native includes a faster JS engine, called Hermes. Unfortunately, Hermes is incompatible with MobX 5.0 (see this). Instead, we're using v8 with https://github.com/Kudo/react-native-v8

IMPORTANT: Because we're doing something nonstandard and using v8 instead of JSCore, it's possible we could have weird issues.

TODO