Dispositivos virtuais oferecem iteração rápida no macOS e em qualquer desktop - sem cabos USB, reinícios instantâneos e screenshots repetíveis para QA de layout. Combine-os com atalhos do Expo CLI para que os projetos do SDK 57 abram no simulador ou AVD correto a cada vez.
Cartão de receita de referência rápida - pronto para copiar e colar.
# Inicia o Metro, depois abre o dispositivo virtual padrãonpx expo start# Pressione i → Simulador iOS (somente macOS)# Pressione a → Emulador Android (ANDROID_HOME + um AVD necessário)# Seleciona um dispositivo específico interativamente# Shift+I → Lista de simuladores iOS# Shift+A → Lista de emuladores/dispositivos Android# Inicia diretamente sem o menu interativonpx expo start --iosnpx expo start --android# Captura um screenshot do simulador/emulador iniciadoxcrun simctl io booted screenshot ./snapshots/ios-$(date +%Y%m%d-%H%M%S).pngadb exec-out screencap -p > ./snapshots/android-$(date +%Y%m%d-%H%M%S).png
Quando usar isso:
Trabalho diário em recursos quando um dispositivo físico é inconveniente ou indisponível.
Verificação de layouts em múltiplos tamanhos de tela (iPhone SE, Pro Max, Pixel Fold, tablet).
Captura de screenshots de linha de base antes de um refatoramento de estilo.
Reprodução de bugs específicos do SO em um nível de API iOS ou Android fixo.
Testes de fumaça em CI que iniciam um emulador e carregam uma build de desenvolvimento.
npx expo start inicia o Metro; pressionar i ou a instrui o Expo CLI a encontrar ou iniciar um simulador/AVD e instalar o Expo Go (fluxo de trabalho gerenciado) ou abrir sua build de desenvolvimento se uma estiver instalada.
O Expo CLI tem como alvo o Simulador iOS aberto mais recentemente - se múltiplos simuladores estiverem iniciados, o último focado vence. Use Shift+I para escolher explicitamente.
O Android requer ANDROID_HOME no seu PATH e pelo menos um AVD criado no Gerenciador de Dispositivos Virtuais do Android Studio. O Expo CLI invoca emulator e adb internamente.
Snapshots aqui significam capturas PNG da tela virtual - úteis para comparação visual, QA de design e relatórios de bugs. Eles não são snapshots de componentes Jest (veja Configuração do Jest para Expo).
RN 0.86 / SDK 57 compila contra Android 16 (API 36) - instale essa plataforma no Android Studio antes que npx expo run:android ou builds de emulador sejam bem-sucedidas.
# Ambiente Android macOS (adicione a ~/.zshrc)export ANDROID_HOME=$HOME/Library/Android/sdkexport PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools# Abre o Simulador manualmente quando o Expo CLI parecer travadoopen -a Simulator
Expo CLI travado em "Opening simulator" - O aplicativo Simulador às vezes ignora o comando de abertura. Correção: Execute open -a Simulator, escolha File > Open Simulator, selecione um dispositivo e pressione i novamente.
O simulador iOS errado recebe o bundle - Múltiplos simuladores iniciados confundem o direcionamento. Correção: Feche simuladores extras ou use Shift+I para selecionar um; o Expo CLI sempre tem como alvo o mais recentemente aberto.
Conflito de versão adb Android - O adb do sistema entra em conflito com as platform-tools do SDK. Correção: Coloque $ANDROID_HOME/platform-tools primeiro no PATH; verifique com which adb.
SDK Platform 36 Android ausente - O Gradle falha com erros de SDK não encontrado no RN 0.86. Correção: Android Studio → SDK Platforms → instale Android 16 (API 36).
Mismatch de SDK do Expo Go no simulador - Um novo projeto SDK 57 pode não carregar em uma instalação mais antiga do Expo Go. Correção: Execute npx expo-go download ios 57 ou crie uma build de desenvolvimento.
Assumir que o simulador é igual ao desempenho do dispositivo - Simuladores usam CPU/GPU de desktop; perfis de lentidão enganam. Correção: Perfilar em hardware para SLOs de rolagem e animação.
Screenshots com tema ou local incorretos - Capturas de matriz tiradas antes que o aplicativo defina a aparência parecem inconsistentes. Correção: Defina o tema/local no código do aplicativo antes da captura; armazene metadados junto com os PNGs.
Inicie o Metro com npx expo start, depois pressione i. Somente no macOS - Windows e Linux não podem executar o Simulador iOS. Use Shift+I para escolher um modelo específico.
Como abro o Emulador Android?
Crie um AVD no Android Studio, certifique-se de que ANDROID_HOME esteja definido, execute npx expo start e pressione a. Ou execute npx expo start --android para iniciar ao iniciar o servidor.
Qual versão do SDK Android o React Native 0.86 requer?
Android 16 (API 36). Instale-o em Android Studio → Settings > Languages & Frameworks > Android SDK > SDK Platforms.
Por que o Expo CLI instala o Expo Go no meu emulador?
Em um projeto gerenciado sem uma build de desenvolvimento, o Expo Go é o shell nativo hospedeiro. Para módulos nativos personalizados, instale expo-dev-client e use uma build de desenvolvimento em vez disso.
Como tiro um screenshot do Simulador iOS?
xcrun simctl io booted screenshot screenshot.png
Substitua booted por um UDID específico de xcrun simctl list devices.
Como faço um screenshot do Emulador Android?
adb exec-out screencap -p > screenshot.png
Certifique-se de que exatamente um dispositivo esteja conectado: adb devices.
Posso executar vários simuladores ao mesmo tempo?
Sim no iOS - abra vários via File > Open Simulator. O Expo CLI tem como alvo o mais recentemente aberto. Para execuções previsíveis, inicie um simulador de cada vez.
Shift+I não faz nada - o que devo verificar?
Confirme se as Ferramentas de Linha de Comando do Xcode estão instaladas (Xcode > Settings > Locations), aceite a licença do Xcode (sudo xcodebuild -license) e que existe pelo menos um runtime iOS em Settings > Components.
O Simulador iOS suporta a câmera?
Não - o hardware da câmera está indisponível. Use um dispositivo físico ou seletores de imagem simulados em desenvolvimento.
Como listar os dispositivos virtuais Android disponíveis?
emulator -list-avds
Crie novos AVDs no Android Studio → Virtual Device Manager.
O que é uma matriz de dispositivos e quantos dispositivos preciso?
Uma matriz de dispositivos é um conjunto fixo de fatores de forma e níveis de SO contra os quais você testa a cada lançamento. Conjunto mínimo prático: telefone compacto, telefone padrão e um tablet em ambos iOS e Android.
Devo usar Expo Go ou uma build de desenvolvimento em emuladores?
Expo Go é bom para picos apenas de SDK. Mude para uma build de desenvolvimento quando adicionar módulos nativos, esquemas de URL personalizados ou plugins que o Expo Go não distribui.
Como redefinir um Simulador iOS corrompido?
No menu do Simulador: Device > Erase All Content and Settings. Isso corrige instalações travadas e corrupção de disco baixo.
Posso desenvolver aplicativos iOS no Windows?
Não - o Simulador iOS requer macOS. Use um iPhone físico, um worker de CI Mac ou serviços Mac na nuvem para builds iOS.