Archived
- ⬆️ Bump all dependencies - ⬆️ react-native 0.59.x using the the `react-native eject` method - ⬆️ react 16.8.x - ⬆️ react-navigation 3.x - ⬆️ tipsi-stripe 7.x - 📝 Add section on linking native dependencies to README - 🔥 Remove bitrise android build support - 🐛 Add a 10 second timeout to all API requests and stop persisting HTTP request state fixing requests hangs
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
## Install
|
|
# See https://facebook.github.io/react-native/docs/getting-started.html#content
|
|
yarn
|
|
cd ios; pod install # ios only
|
|
|
|
# Environment settings
|
|
cp env-example .env
|
|
|
|
react-native start
|
|
react-native run-android
|
|
|
|
## Development
|
|
# Improve compile times
|
|
touch ~/.gradle/gradle.properties && echo -e "org.gradle.daemon=true\norg.gradle.jvmargs=-Xmx2048M" >> ~/.gradle/gradle.properties
|
|
# Run android emulator (first avd)
|
|
yarn emulator
|
|
# Make sure you have hw.keyboard=yes in your avd config.ini (in $HOME/.android/avd/.../) for reloading when pressing R twice to work.
|
|
|
|
### Linking native dependencies
|
|
We use a Podfile to install the stripe ios library, but not for anything else.
|
|
Before running any `react-native link` commands, rename `ios/Podfile` to something else before running, then rename the file back when you are done.
|
|
This is to let the react-native CLI know we use the Dusken xcode project and not cocoapods for managing all other dependencies.
|
|
This avoids alot of issues resulting from poor cocoapods support by react native.
|
|
|
|
## Prepare release build
|
|
# Fastlane
|
|
bundle update
|
|
|
|
# Sentry
|
|
# Get auth token from https://sentry.neuf.no/api/ with project:write scope
|
|
cp ios/sentry.properties-example ios/sentry.properties
|
|
cp android/sentry.properties-example android/sentry.properties
|
|
|
|
## Create release build (Android)
|
|
# Aquire the keystore and put it in android/app/dusken-client.keystore
|
|
|
|
# Put these properties in ~/.gradle/gradle.properties along with the correct passwords
|
|
DUSKEN_RELEASE_STORE_FILE=dusken-client.keystore
|
|
DUSKEN_RELEASE_KEY_ALIAS=dusken-client
|
|
DUSKEN_RELEASE_STORE_PASSWORD=
|
|
DUSKEN_RELEASE_KEY_PASSWORD=
|
|
|
|
# Build
|
|
yarn build-android # Output is in android/app/build/outputs/apk
|
|
|
|
# Note: Make sure you have the file android/google_play.json
|
|
# Ref: https://docs.fastlane.tools/actions/supply/#setup
|
|
|
|
# Publish android build to the Google Play beta track
|
|
yarn release-android
|
|
|
|
## Libraries
|
|
|
|
We use https://nativebase.io/ for generic UI components
|