Skip to content

Latest commit

 

History

History
127 lines (75 loc) · 3.61 KB

README.md

File metadata and controls

127 lines (75 loc) · 3.61 KB

@trezor/suite-native

Trezor Suite native application.

Prerequisites

It's good to have some tools installed before you begin:

  1. Android Studio - Useful especially because of the built-in emulator. Download here
  2. adb - Android debug bridge, needed for communication with real device or emulator. More info here. Could be also installed using Android studio. After installation, you should verify that it is working by running command adb devices, which should list connected devices or emulators.
  3. watchman - Tool for watching file changes in Metro Bundler

Running app on Android

  1. Connect device or run emulator. For a physical device, it's recommended to use adb over wifi because you will have free up a USB port to connect Trezor device.
  2. Run packager - yarn start
  3. Run native build - yarn android

Building Android

You can build a release version of app using yarn build:android. Output apk will be located in here: android/app/build/outputs/apk/release/app-release.apk

Running app on iOS

Transport layer not working for iOS but it's possible to run app. You will need Xcode and xcode-select.

  1. Install CocoaPods dependencies - yarn pods
  2. Connect device or emulator
  3. Run packager - yarn start
  4. Run iOS build - yarn ios

Debugging

Because of usage of new Fabric architecture, it is not possible to use Chrome debugger anymore. We are compiling our own version of Hermes core with added functions.

Best way how to debug app is download Flipper.

Dependencies, version locks

  1. simple-plist - some internal dependency of RN wants to use version 1.3.0, but in this version there is some error that dependabot doesn't like. Error is not valid for us, but adding 1.3.1 to dev dependencies will fix this warning.

Updating fonts

  1. Place updated fonts to packages/theme/fonts
  2. Run yarn react-native link

Distribution

Fastlane is the easiest way to automate beta deployments and releases for iOS and Android apps.

More information about fastlane can be found on fastlane.tools.

The documentation of fastlane can be found on docs.fastlane.tools.

Installation

Make sure you have the latest version of the Xcode command line tools installed:

xcode-select --install

For fastlane installation instructions, see Installing fastlane

Available Actions

iOS

iOS develop
[bundle exec] fastlane ios develop

Push a new beta build to TestFlight for develop build schema.


iOS staging
[bundle exec] fastlane ios staging

Push a new beta build to TestFlight for staging build schema.


iOS production
[bundle exec] fastlane ios production

TODO


Android

android develop
[bundle exec] fastlane android develop

Build and upload the app (develop) to Firebase App Distribution for testing in a small group of testers.


android staging
[bundle exec] fastlane android staging

Build and upload the app (staging) to Google Play Store for internal testing.


android production
[bundle exec] fastlane android production

Build and upload the app (production) to Google Play Store for internal testing.