O EAS Build é o serviço alojado da Expo Application Services que transforma um projeto Expo ou React Native em binários instaláveis: um .aab ou um .apk para Android, um .ipa para iOS. Executa um comando, o projeto é enviado, uma máquina nova na cloud compila-o e assina-o, e depois descarrega o resultado ou envia-o diretamente para as lojas. É graças a ele que consegue gerar uma build para iPhone a partir de um portátil com Windows.
Quanto ao preço, a resposta curta: o plano Free cobre até 15 builds Android e 15 builds iOS por mês, numa fila de baixa prioridade. Os planos pagos começam nos 19 USD por mês (Starter, com 45 USD de crédito de build) e nos 199 USD por mês (Production, com 225 USD de crédito), e cada build para além do crédito custa de 1 a 4 USD, consoante a plataforma e o tamanho da máquina. Estes valores vêm da página de preços da Expo, consultada a 13 de outubro de 2026.
Este guia centra-se no serviço de build. Para uma visão de conjunto da framework, do seu SDK e do seu router, comece por o que é a Expo.
O que o EAS Build faz, e o que não faz
A definição da própria Expo cabe numa frase: o EAS Build é «um serviço alojado para compilar os binários dos seus projetos Expo e React Native». Também compila projetos nativos que não usam nem Expo nem React Native, mas as predefinições estão pensadas para apps Expo, pelo que a maioria dos projetos não precisa de configuração adicional.
Em concreto, uma build trata de quatro tarefas que dão muito trabalho a montar à mão:
- Uma máquina de build limpa. Cada build tem a sua própria máquina virtual com as ferramentas já instaladas: o SDK Android em Linux, o Xcode em macOS.
- A assinatura. O EAS pode gerar e guardar o seu keystore Android, o seu certificado de distribuição iOS e os seus perfis de aprovisionamento, ou usar os que fornecer.
- Definições reproduzíveis. Os perfis de build de um ficheiro eas.json descrevem cada tipo de build, de modo que o mesmo comando dá o mesmo resultado em qualquer portátil ou na CI.
- A distribuição. Uma build concluída pode ser partilhada com os testers através de um URL, ou entregue ao EAS Submit para as lojas.
O que não faz: escrever a ficha da loja, tirar as capturas de ecrã ou lançar a app para o público. Esses passos continuam no App Store Connect e na Play Console.
Build, Submit, Update: três serviços diferentes
O EAS é uma família de serviços que muitas vezes se confundem. Só um deles compila alguma coisa.
| Serviço | O que faz | O que obtém |
|---|---|---|
| EAS Build | Compila e assina a app nativa numa máquina na cloud | Um ficheiro .aab, .apk ou .ipa, mais os logs da build |
| EAS Submit | Envia um binário concluído para o Google Play ou o App Store Connect | Uma versão numa faixa do Play, ou uma build à espera no TestFlight |
| EAS Update | Envia alterações de JavaScript e de recursos para apps já instaladas | Uma correção nos telemóveis dos utilizadores sem nova versão nas lojas |
Como funciona uma build EAS, passo a passo
Precisa do Node.js, da EAS CLI e de uma conta Expo gratuita. A partir daí, o caminho do código até à loja é este:
- Configurar uma vez. O comando eas build:configure cria o eas.json na raiz do projeto, ao lado do package.json.
- Lançar uma build. eas build --platform android (ou ios, ou all) usa por predefinição o perfil production; acrescente --profile preview para usar outro.
- Credenciais. A CLI verifica as credenciais de assinatura e, da primeira vez, propõe gerar as que faltam.
- Envio e fila. O projeto é arquivado e enviado, e a build fica à espera de uma máquina livre na fila do seu plano.
- Compilação numa máquina nova. A máquina instala as dependências, gera os projetos nativos, compila e assina a app. Os logs aparecem em tempo real no painel da Expo.
- Obter o ficheiro. Descarregue-o, partilhe-o com uma ligação de instalação ou deixe o EAS Submit enviá-lo, mais tarde com eas submit ou na mesma execução com --auto-submit.
Os perfis de build no eas.json
Um perfil é um conjunto de definições de build com nome. O ficheiro gerado por eas build:configure contém três:
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {}
}
}| Perfil | Para quem | Resultado habitual |
|---|---|---|
| development | O próprio programador, durante o desenvolvimento: uma development build com ferramentas de programação (requer expo-dev-client), instalada diretamente nos seus dispositivos | APK ou build iOS ad hoc; nunca é enviada para uma loja |
| preview | A sua equipa e as partes interessadas, para testar em condições próximas da produção | APK ou build iOS ad hoc, partilhada por URL |
| production | As lojas, incluindo o TestFlight e as faixas de teste do Play | AAB para Android (por predefinição), IPA para iOS |
Há duas definições que aparecem com frequência. "buildType": "apk" dentro de android transforma a saída de um perfil num APK que se instala diretamente, o que é exatamente o que se quer para preview. "resourceClass": "large" passa uma build pesada para uma máquina maior; medium é o valor predefinido, e as máquinas large exigem um plano pago. Os perfis também podem herdar uns dos outros com "extends", até cinco níveis de profundidade.
Credenciais e assinatura
Todas as builds destinadas às lojas têm de ser assinadas. Em Android, isso significa um keystore de carregamento; em iOS, um certificado de distribuição e um perfil de aprovisionamento, ambos associados à sua conta Apple Developer. O EAS pode gerá-los e guardá-los nos servidores da Expo, para que qualquer máquina ou colega consiga lançar uma build sem trocar ficheiros. Também pode carregar os seus, o que é importante quando a app já existe: a Google rejeita atualizações assinadas com outra chave de carregamento, e a assinatura de apps do Play guarda a chave de assinatura final do lado da Google.
Preços do EAS Build em 2026
A Expo vende o EAS por plano, e cada plano pago inclui um montante em dólares de crédito de build. O plano Free funciona de outra forma: conta builds, não dólares.
| Plano | Preço por mês | Builds incluídas | Fila | Builds em simultâneo | Duração máxima da build |
|---|---|---|---|---|---|
| Free | 0 USD | Até 15 builds Android e 15 builds iOS | Baixa prioridade | 1 | 45 minutos |
| Starter | 19 USD mais a utilização | 45 USD de crédito de build | Alta prioridade | 1 | 2 horas |
| Production | 199 USD mais a utilização | 225 USD de crédito de build | Alta prioridade | 2 | 2 horas |
| Enterprise | Sob orçamento, a partir de 1.000 USD | Personalizável | Alta prioridade | 5 | 2 horas |
Depois de esgotado o crédito, cada build é faturada a uma tarifa fixa que depende da plataforma e da máquina. Cada build em simultâneo adicional custa 50 USD por mês nos planos pagos.
| Máquina | Configuração | Preço por build |
|---|---|---|
| Android, medium | 4 vCPU, 16 GB de RAM | 1 USD |
| Android, large | 8 vCPU, 32 GB de RAM | 2 USD |
| iOS, medium | 5 núcleos de desempenho, 20 GiB de RAM | 2 USD |
| iOS, large | 10 núcleos de desempenho, 40 GiB de RAM | 4 USD |
A fila e a duração máxima
Para um programador a trabalhar sozinho, o verdadeiro custo do plano Free é o tempo. A Expo avisa que, nas horas de ponta, a espera na fila de baixa prioridade pode ultrapassar os 90 minutos, enquanto procura ter «zero espera» na fila de alta prioridade que todos os planos pagos usam. Além disso, a build tem de terminar em 45 minutos no plano Free, contra 2 horas nos planos pagos; um projeto iOS grande com muitos módulos nativos pode aproximar-se desse limite.
Quanto custa um mês de builds
Três casos típicos, calculados com as tarifas acima em máquinas medium (cálculos nossos, não valores da Expo):
- Projeto pessoal, 10 builds Android e 8 builds iOS: 0 USD no plano Free, se a fila não o incomodar.
- Equipa pequena, 30 builds Android e 20 builds iOS: 30 USD mais 40 USD, ou seja, 70 USD de utilização. Os 45 USD de crédito do Starter cobrem a maior parte, ficando 25 USD a somar à subscrição de 19 USD: 44 USD nesse mês.
- Produto ativo, 100 builds Android e 80 builds iOS: 100 USD mais 160 USD, ou seja, 260 USD de utilização. No Production, os 225 USD de crédito deixam 35 USD a somar aos 199 USD: 234 USD nesse mês.
As máquinas large duplicam o preço de cada build, por isso use-as apenas nas builds que ficam realmente sem memória ou sem tempo. As builds lançadas a partir do EAS Workflows, o serviço de CI da Expo, são faturadas às mesmas tarifas fixas.
EAS Build ou build local?
Não é obrigado a usar a cloud. Existem duas opções locais: eas build --local, que executa o mesmo processo de build na sua própria máquina, e o caminho clássico pelo Xcode e pelo Android Studio, sem EAS.
| Critério | EAS Build (cloud) | eas build --local | Xcode / Android Studio |
|---|---|---|---|
| iOS a partir de Windows ou Linux | Sim | Não, o iOS exige um Mac com Xcode | Não, o Xcode só corre em macOS |
| Sistema suportado | Qualquer máquina com Node.js | macOS e Linux; Windows não suportado (WSL não testado) | macOS para iOS; qualquer sistema para Android |
| Instalação | EAS CLI e uma conta Expo | SDK e NDK Android, fastlane e CocoaPods para iOS, além de sessão iniciada na Expo | Todas as ferramentas nativas, assinatura manual |
| Assinatura | Gerida pelo EAS ou a sua própria | Pode descarregar as credenciais geridas | Totalmente a seu cargo |
| Custo | Quota ou crédito do plano, depois de 1 a 4 USD por build | O seu hardware | O seu hardware |
| Principais limites | Fila no Free, duração máxima consoante o plano | Uma plataforma de cada vez, sem cache, versões de ferramentas do eas.json ignoradas, variáveis secretas a definir localmente | Nenhuma configuração partilhada pela equipa |
Uma regra simples: fique na cloud enquanto não tiver um Mac, enquanto várias pessoas compilarem a app ou enquanto a quota gratuita cobrir o seu mês. Passe para builds locais quando iterar sobre código nativo muitas vezes por dia num Mac, quando a política da empresa proibir servidores de build de terceiros, ou para reproduzir na sua máquina uma falha ocorrida na cloud, que é precisamente o uso que a Expo sugere para --local. A documentação das builds locais enumera as limitações atuais.
Da build à loja, com ou sem a Cadrant
Assim que o binário existe, o EAS Submit trata do envio. Em Android, envia o .aab para uma faixa do Play (teste interno, alfa, beta ou produção), e pode até criar a primeira versão de uma app totalmente nova na faixa de teste interno. Em iOS, envia o .ipa para o App Store Connect, onde aparece no TestFlight depois de processado; a ficha da loja e o envio para revisão continuam a ser manuais. O resto do percurso até à loja, da conta de programador à revisão, está no nosso guia para publicar uma app no Google Play.
Com o criador de apps móveis da Cadrant, nunca escreve um eas.json nem um comando de build, mas quem compila continua a ser o EAS Build, na sua própria conta Expo. Liga essa conta uma única vez em Integrações, e cada publicação usa a sua quota gratuita do EAS de 15 builds Android e 15 builds iOS por mês. Em Android, a Cadrant gera e guarda o keystore de carregamento, e a Expo envia o app bundle para a sua Play Console como versão de rascunho na faixa de teste interno. Em iOS, um início de sessão guiado na Apple cria a app no App Store Connect e aprovisiona o certificado de distribuição, e depois a Expo envia o binário para a sua conta. As contas, a quota e as apps continuam a ser suas.