Setting up the environment
The Android emulator now works on the Apple M1 chip (Apple Silicon), but only in preview mode. This means that not all functionality is available. As shown by developers, the emulator on M1 can render 8.94 frames with one watt of power, while the Intel MacBook Pro renders 1.38 frames per watt. There’s no denying it; macOS M1 hardware kicks.
Setup for iOS needs:
- Node (with NVM)
- Watchman
brew install watchman - Xcode (install from the App Store)
- Xcode Command Line Tools
xcode-select --install - Accept the Software License for Xcode
sudo xcodebuild -license. It'll prompt you anyway when you run Xcode for the first time. - CocoaPods
sudo gem install cocoapods
Homebrew
Install Homebrew if you don't have it installed already
Android Emulator For Apple M1
Node LTS with NVM
iOS
- Open Terminal / iTerm with Rosetta (Get Info > Open using Rosetta)
- Prefix the CocoaPods related commands with
arch -x86_64
Android Studio Emulator Mac M1
Android
- Install JDK 8
brew install --cask adoptopenjdk/openjdk/adoptopenjdk8 - Install Android Studio
- Install Android Emulator for M1
The Android Emulator doesn't work out of the box yet. Luckily, there is a Preview build by Google that supports Apple Silicon M1 chip based MacBooks. You'll have to download and install it separately. Most things work.
Troubleshooting
command not foundforbrewornvm. Make sure you have a~/.zshrcfile. On a fresh new M1 MacBook, there is no~/.zshrcor~/.zprofilecreated and the$PATHdoesn't get updated because of it. Create a~/.zshrcfile and run the commands to install Homebrew and NVM again.
Add this to you Podfile
Two options:
- Run on a different port
react-native start --port=8088 - OR find out what program is using 8081
sudo lsof -i :8081and kill itkill -9 1234
incorrect architecture 'x86_64' errors

add this to the Podfile
run pod install afterwards