xref: /expo/scripts/setup-react-android.sh (revision 98f365fa)
1275a6932SEvan Bacon#!/usr/bin/env bash
2275a6932SEvan Bacon
3b398aa8cSBrent Vatnesdk_manager="sdkmanager"
4275a6932SEvan Bacon
5*98f365faSGabriel Donadel Dall'Agnol# Fallback to ANDROID_SDK_ROOT if sdkmanager is not found
6*98f365faSGabriel Donadel Dall'Agnolif ! [ -x "$(command -v ${sdk_manager})" ]; then
7*98f365faSGabriel Donadel Dall'Agnol  sdk_manager="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager"
8*98f365faSGabriel Donadel Dall'Agnolfi
9*98f365faSGabriel Donadel Dall'Agnol
10275a6932SEvan Bacon# Ensure the `sdkmanager` is installed for React Android
11b398aa8cSBrent Vatneif ! [ -x "$(command -v ${sdk_manager})" ]; then
12b398aa8cSBrent Vatne  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."
13b398aa8cSBrent Vatne  exit 1
14275a6932SEvan Baconfi
15275a6932SEvan Bacon
16275a6932SEvan Baconmkdir -p $HOME/.android
17275a6932SEvan Bacontouch $HOME/.android/repositories.cfg
18275a6932SEvan Bacon
19275a6932SEvan Bacon# Auto accept all the Google licenses
20dc235dafSHein Rutjesyes | ${sdk_manager} --licenses
21275a6932SEvan Bacon
22275a6932SEvan Baconsdk_manager_options='--no_https --verbose --channel=0'
23275a6932SEvan Bacon# To launch the emulator by shell script
24dc235dafSHein Rutjes${sdk_manager} emulator ${sdk_manager_options}
25275a6932SEvan Bacon
26275a6932SEvan Bacon# Install NDK...
272cfc8c5aSJakub${sdk_manager} "ndk;21.4.7075529" ${sdk_manager_options}
28dc235dafSHein Rutjes${sdk_manager} platform-tools ${sdk_manager_options}
29275a6932SEvan Bacon# Install Intel HAXM (for emulators)
30dc235dafSHein Rutjes${sdk_manager} "extras;intel;Hardware_Accelerated_Execution_Manager" ${sdk_manager_options}
31275a6932SEvan Bacon# Install the version of Android required for React Native
32dc235dafSHein Rutjes${sdk_manager} "platforms;android-26" "system-images;android-26;google_apis;x86_64" "build-tools;26.0.3" ${sdk_manager_options}
33dc235dafSHein Rutjes${sdk_manager} --update ${sdk_manager_options}
34275a6932SEvan Bacon
35275a6932SEvan Baconecho '✅  React Native is now setup'