xref: /expo/scripts/setup-react-android.sh (revision 89d2c67f)
1#!/usr/bin/env bash
2
3sdk_manager="sdkmanager"
4
5# Fallback to ANDROID_SDK_ROOT if sdkmanager is not found
6if ! [ -x "$(command -v ${sdk_manager})" ]; then
7  sdk_manager="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager"
8fi
9
10# Ensure the `sdkmanager` is installed for React Android
11if ! [ -x "$(command -v ${sdk_manager})" ]; then
12  echo "Error: You need to install Android SDK tools before proceeding. You can install these through Android Studio. Make sure that you also install the CLI tools and that sdkmanager can be found in your PATH."
13  exit 1
14fi
15
16mkdir -p $HOME/.android
17touch $HOME/.android/repositories.cfg
18
19# Auto accept all the Google licenses
20yes | ${sdk_manager} --licenses
21
22sdk_manager_options='--no_https --verbose --channel=0'
23# To launch the emulator by shell script
24${sdk_manager} emulator ${sdk_manager_options}
25
26# Install NDK...
27${sdk_manager} "ndk;21.4.7075529" ${sdk_manager_options}
28${sdk_manager} platform-tools ${sdk_manager_options}
29# Install Intel HAXM (for emulators)
30${sdk_manager} "extras;intel;Hardware_Accelerated_Execution_Manager" ${sdk_manager_options}
31# Install the version of Android required for React Native
32${sdk_manager} "platforms;android-26" "system-images;android-26;google_apis;x86_64" "build-tools;26.0.3" ${sdk_manager_options}
33${sdk_manager} --update ${sdk_manager_options}
34
35echo '✅  React Native is now setup'