Abc setup guide (Expo version)

timistudio.dev
5 min readJun 7, 2022
Abc

Abc is a React Native template application.

Using expo and typescript language to develop mobile app for both iOS and Android.

1. Install Node

Go to https://nodejs.org/en/download/, download the latest LTS version then install it.

2. Watchman

Follow the Watchman installation guide to compile and install Watchman from source. https://facebook.github.io/watchman/docs/install.html

Watchman is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance and increased compatibility in certain edge cases (translation: you may be able to get by without installing this, but your mileage may vary; installing this now may save you from a headache later).

3. Expo CLI

Assuming that you have Node 12 LTS or greater installed, you can use npm to install the Expo CLI command line utility:

npm install -g expo-cli

4. Android development environment

Setting up your development environment can be somewhat tedious if you’re new to Android development. If you’re already familiar with Android development, there are a few things you may need to configure. In either case, please make sure to carefully follow the next few steps.

4.1. Install Android Studio

Download and install Android Studio. While on Android Studio installation wizard, make sure the boxes next to all of the following items are checked:

Android SDK

Android SDK Platform

Android Virtual Device

Then, click “Next” to install all of these components.

If the checkboxes are grayed out, you will have a chance to install these components later on. Once setup has finalized and you’re presented with the Welcome screen, proceed to the next step.

4.2. Install the Android SDK

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 10 (Q) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

To do that, open Android Studio, click on “Configure” button and select “SDK Manager”.

The SDK Manager can also be found within the Android Studio “Preferences” dialog, under Appearance & Behavior → System Settings → Android SDK.

Select the “SDK Platforms” tab from within the SDK Manager, then check the box next to “Show Package Details” in the bottom right corner. Look for and expand the Android 10 (Q) entry, then make sure the following items are checked:

Android SDK Platform 29

Intel x86 Atom_64 System Image or Google APIs Intel x86 Atom System Image

Next, select the “SDK Tools” tab and check the box next to “Show Package Details” here as well. Look for and expand the “Android SDK Build-Tools” entry, then make sure that 29.0.2 is selected.

Finally, click “Apply” to download and install the Android SDK and related build tools.

### 4.3. Configure the ANDROID_HOME environment variable

The React Native tools require some environment variables to be set up in order to build apps with native code.

Add the following lines to your $HOME/.bash_profile or $HOME/.bashrc (if you are using zsh then ~/.zprofile or ~/.zshrc) config file:

export ANDROID_HOME=$HOME/Android/Sdk

export PATH=$PATH:$ANDROID_HOME/emulator

export PATH=$PATH:$ANDROID_HOME/tools

export PATH=$PATH:$ANDROID_HOME/tools/bin

export PATH=$PATH:$ANDROID_HOME/platform-tools

.bash_profile is specific to bash. If you’re using another shell, you will need to edit the appropriate shell-specific config file.

Type source $HOME/.bash_profile for bash or source $HOME/.zprofile to load the config into your current shell.

Verify that ANDROID_HOME has been set by running echo $ANDROID_HOME and the appropriate directories have been added to your path by running echo $PATH.

Please make sure you use the correct Android SDK path. You can find the actual location of the SDK in the Android Studio “Preferences” dialog, under Appearance & Behavior → System Settings → Android SDK.

5. iOS development environment

You will need Node, Watchman, the React Native command line interface, Xcode and CocoaPods.

While you can use any editor of your choice to develop your app, you will need to install Xcode in order to set up the necessary tooling to build your React Native app for iOS.

5.1. Xcode

The easiest way to install Xcode is via the Mac App Store. Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.

If you have already installed Xcode on your system, make sure it is version 10 or newer. 5.2. Command Line Tools

You will also need to install the Xcode Command Line Tools. Open Xcode, then choose “Preferences…” from the Xcode menu. Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.

5.3. Installing an iOS Simulator in Xcode

To install a simulator, open Xcode > Preferences… and select the Components tab. Select a simulator with the corresponding version of iOS you wish to use.

6. Environment confirmation

In the Expo template application, please follow Expo environment setup guide first. https://docs.timistudio.dev/docs/environment-setup/expo-environment-setup

Then to confirm all setup is ok, please execute the command below to verify.

$ yarn -v

1.22.17

$ node -v

v14.17.5

$ npm -v

6.14.14

$ expo — version

5.0.3

If you are using MacOS and work with iOS, please check your XCode is the latest version.

$ /usr/bin/xcodebuild -version

Xcode 13.2.1

Build version 13C100

abc-install-guide-expo-version.md 2/20/2022 ## 7. Run for development

cd <react-native-project-root>

yarn install

If you are using npm without yarn

cd <react-native-project-root>

npm install

Finally start simulator with command below

yarn android

# or

yarn ios

If you are using npm without yarn

npm run android

# or

npm run ios

Run for development

## 8. File structure

- App.tsx

- AuthContext.tsx

- ThemeContext.tsx

- __tests__/

- app.json

- assets/ # Image asset files — babel.config.js

- components/ # React Components — constants # Project constant files — declarations.d.ts # SVG declre — highcharts-react-native.ts # Highcharts declare — hooks/ # React hooks — i18n/ # Internationalization files — index.js

- metro.config.js # Metro config — navigation/ # React Native Navigations — package.json # Node packages — react-native-web-refresh-control.d.ts

- react-native.config.js

- screens/ # Project screens — styles/ # Project styles — tsconfig.json # Typescript config — utils/ # Helper files

SUPPORT INFORMATION

Thank you for your purchase, feel free to contact us if you have any trouble when installing an application.

OUR PRODUCTS:

Fairpay — Split Bill React Native: https://1.envato.market/Kez64a

Monsy Money Manager Full Application: https://1.envato.market/do9d3k

Runner Flutter Full Application: https://1.envato.market/qnAOaq

Triplan Flutter Template: https://1.envato.market/doyJdK

Stacy Roommate Flutter Template: https://1.envato.market/YgR1Xj

Fitness Love: https://1.envato.market/x9kDjx

Doctor Plus — Patient React Native: https://1.envato.market/x99yJR

Doctor Plus — Doctor React Native: https://1.envato.market/x07Bk

Carer — Patient React Native App Template: https://1.envato.market/RzAzy

Wala — Food React Native: http://1.envato.market/qbXgy

Evez React Native: https://1.envato.market/emE1r

Finany — Cashflow Manager App: https://1.envato.market/d1v17

Imba React Native: https://1.envato.market/M3KWM

Healer React Native: https://1.envato.market/v6BDd

Healer Flutter: https://1.envato.market/b1xk9

Finey React Rative: https://1.envato.market/dJQyM Finey Flutter: https://1.envato.market/RdB09

Kid Draw React Native: https://1.envato.market/Z3nQk

Thank you!

--

--

timistudio.dev

We are team UI/UX and Developer React Native & Flutter