React Native: Como Gerar APK e IPA (Android e iOS)

andre-cunha5
andre-cunha5

Compartilhe

Avalie este artigo

8 minutos de leitura

Quando terminamos de programar um aplicativo com React Native, é comum aparecer uma dúvida: como gerar APK para React Native e como criar o arquivo IPA para iOS? Ou até: "Como transformar ou converter um APK em IPA para distribuir meu app tanto no Android quanto no iPhone?" 

Existem diferentes formas de disponibilizar seu aplicativo para os usuários em dispositivos Android e iOS. Uma das principais é gerar o arquivo .apk (Android Application Pack) e o .ipa (iOS App Store Package).  

Neste artigo, você vai aprender, passo a passo, como gerar APK no React Native, como criar IPA para iOS, as diferenças entre APK e IPA e métodos usando tanto React Native CLI quanto Expo CLI. Vamos abordar ainda dicas sobre como transformar APK em IPA, as limitações e as melhores práticas para build de apps para as duas plataformas. 

Vamos lá? 

O que é APK (Android) e o que é IPA (iOS)? Entenda as diferenças 

O APK (Android Application Pack) é um tipo de arquivo para instalação de apps em dispositivos Android. É o formato usado para distribuir e instalar aplicativos na Google Play Store e permite instalação manual (sideload).  

Já o IPA (iOS App Store Package) é um arquivo compactado de aplicativo para iOS que pode ser instalado em um iPhone, iPad ou em Macs com chip ARM. Resumidamente, o APK é para Android e o IPA é para iOS, funcionando como os famosos arquivos ".exe" do Windows, mas cada um exclusivo para sua plataforma. 

Por ser um ambiente de desenvolvimento híbrido, o React Native permite que o código criado seja utilizado tanto para gerar aplicativos Android quanto iOS, ao contrário das soluções nativas que geralmente atendem apenas um sistema operacional. 

Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

Como gerar APK (Android) e IPA (iOS) com Expo CLI 

O Expo facilita todo o processo de desenvolvimento com React Native, desde a criação inicial do app até a geração do arquivo executável. 

A documentação oficial do Expo apresenta detalhadamente como gerar tanto o APK quanto o IPA. Como o Expo é frequentemente atualizado, alguns processos podem mudar, por isso, é fundamental sempre consultar a documentação oficial antes de iniciar. 

Agora, vamos ver o passo a passo para gerar o APK e IPA. 

Após desenvolver o app com o Expo, abra o arquivo app.json e complete os campos referentes a “ios” e “android”, conforme o exemplo abaixo: 

JSON  
{  
"expo": {  
"name": "Your App Name",  
"icon": "./path/to/your/app-icon.png",  
"version": "1.0.0",  
"slug": "your-app-slug", 
"ios": {  
"bundleIdentifier": "com.yourcompany.yourappname",  
"buildNumber": "1.0.0"  
},  
"android": { 
 "package": "com.yourcompany.yourappname", 
  "versionCode": 1 
 } 
} 
 }

Feito isso, abra o terminal na pasta do seu projeto Expo e execute: 

  • Para gerar o APK (react native build apk) para Android: 
expo build:android 
  • Para gerar o IPA para iOS: 
expo build:ios 

Durante o processo de build com EAS, você será questionado sobre credenciais de assinatura (para iOS e Android). O EAS pode gerenciar essas credenciais automaticamente ou você pode fornecer as suas próprias.  

O build ocorre nos servidores da Expo e pode demorar de alguns minutos a meia hora, dependendo da fila e complexidade do app. Você pode acompanhar o progresso em tempo real no terminal ou no dashboard do EAS (expo.dev).

Quando o processo estiver finalizado, será disponibilizado um link no seu terminal para baixar o APK, basta copiar o link, abri-lo no navegador e, assim, o download será feito automaticamente. 

O Android é mais flexível nesse aspecto. Assim, é possível copiar o APK para o aparelho Android e, em seguida, instalá-lo diretamente no dispositivo. 

No caso do iOS, o processo é um pouco mais restrito devido às políticas de segurança da Apple. Para testar o app em um iPhone, normalmente é necessário possuir uma conta de desenvolvedor Apple. Mais detalhes sobre a publicação e testes podem ser encontrados na documentação oficial do Expo

Como gerar APK e IPA com React Native CLI (Android e iOS) 

A seguir, mostraremos como gerar o APK utilizando o React Native CLI. Vale ressaltar que a documentação oficial traz o passo a passo completo e está sempre atualizada, sendo fundamental consultá-la em caso de dúvidas. 

Veja a seguir o passo a passo: 

1º Passo: 

Primeiro, é necessário gerar uma chave de assinatura para o aplicativo. Para isso, utilize o terminal e execute o comando a seguir: 

keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 

Algumas perguntas serão feitas no terminal, basta ir completando conforme achar melhor, porém, não são detalhes tão relevantes e, por isso, não vamos tratar delas aqui. 

2º Passo: 

Copie o arquivo my-upload-key.keystore gerado na pasta raiz para o diretório “android/app” do seu projeto. 

3º Passo: 

Configurando as variáveis do gradle. Edite o arquivo ~/.gradle/gradle.properties ou android/gradle.properties, incluindo as seguintes variáveis. Lembre-se de substituir os “*****” pelas senhas definidas durante a geração da chave. 

MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore 
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias 
MYAPP_UPLOAD_STORE_PASSWORD=***** 
MYAPP_UPLOAD_KEY_PASSWORD=*****

4º Passo: 

Abra o arquivo android/app/build.gradle do seu projeto e adicione a configuração da assinatura conforme o exemplo abaixo: 

... 
android { 
... 
    defaultConfig { ... } 
    signingConfigs { 
     release { 
         if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { 
                storeFile file(MYAPP_UPLOAD_STORE_FILE) 
                storePassword MYAPP_UPLOAD_STORE_PASSWORD 
                keyAlias MYAPP_UPLOAD_KEY_ALIAS 
                keyPassword MYAPP_UPLOAD_KEY_PASSWORD 
         } 
     } 
} 
    buildTypes { 
     release { 
         ... 
            signingConfig signingConfigs.release 
     } 
} 
} 
...

5º Passo: 

Para gerar o arquivo AAB (Android App Bundle), execute o seguinte comando no terminal: 

cd android 
./gradlew bundleRelease

Pronto! O APK gerado pode ser encontrado em android/app/build/outputs/bundle/release/app-release.aab, e está pronto para ser distribuído e testado nos aparelhos Android.  

Repare que o formato dele ficou ".aab" (Android App Bundle). Importante: AAB e APK não têm exatamente a mesma função: 

  • AAB é o formato de publicação exigido pela Google Play Store desde agosto de 2021 para novos apps. Ele não pode ser instalado diretamente no dispositivo - a Google Play processa o AAB e gera APKs otimizados para cada dispositivo. 
  • APK pode ser instalado diretamente no dispositivo (sideloading) e é usado para distribuição fora da Play Store. 
  • Apps publicados via AAB são até 15-35% menores para o usuário final, pois apenas os recursos necessários para aquele dispositivo específico são baixados. 

Para gerar um APK instalável localmente para testes (ao invés de AAB), use: cd android && ./gradlew assembleRelease 

Para iOS, o processo é diferente e pode ser mais detalhado, especialmente para publicação na App Store, devido ao rigor das revisões da Apple. Por isso, é importante seguir cuidadosamente a documentação oficial a cada etapa. 

De maneira resumida, o passo a passo para gerar o arquivo IPA com o React Native CLI é: 

  1. Abra o Xcode com a pasta /ios; 
  2. Faça login e tenha o certificado (Xcode > Preferences/Preferencias... > Accounts/Contas); 
  3. Selecione Any iOS Device e escolher o time do projeto (Clique no nome do projeto > Signing & Capabilities > selecionar o Team e preencher o Bundle); 
  4. Faça o arquivo (Product > Archive (demora um pouco) > clique em Distribute App > siga os passos para publicar na App Store ou gerar o arquivo (aqui precisa pagar para continuar). 

A interface do Xcode mudou desde a captura desta imagem. Segundo a documentação oficial de 2026, o acesso às contas agora é feito via Xcode > Settings > Accounts (não mais 'Preferences'). A interface visual mantém a estrutura similar, mas a terminologia mudou em versões recentes do macOS e Xcode. 

Screenshot do Xcode mostrando a aba 'Signing & Capabilities' com a seleção de 'Any iOS Device (arm64)' na barra superior e a escolha do Development Team no campo Team, destacando o campo Bundle Identifier e a opção 'Automatically manage signing' 

Screenshot do Xcode Organizer mostrando a seção 'Archives' com a lista de builds arquivados, incluindo detalhes como data de criação, versão, Bundle Identifier e o botão 'Distribute App' destacado 

A interface de distribuição do Xcode foi atualizada nas versões recentes. Em 2026, além das opções tradicionais (App Store Connect, Ad Hoc, Enterprise, Development), o Xcode pode apresentar opções adicionais de distribuição e layouts ligeiramente diferentes. O alt text apresenta redundância ('App Store Connect, referente à App Store Connect'). 

Como aprender mais sobre o assunto

Parabéns por acompanhar o artigo até o final! 

Nesse artigo, conseguimos ver o que é um APK e um IPA e como podemos gerá-los usando o Expo e React Native CLI. Caso tenha interesse em aprender mais sobre React Native, venha assistir os cursos que estão na plataforma aqui da Alura! 

Caso tenha interesse em aprender mais sobre React Native, venha assistir os cursos que estão na plataforma aqui da Alura! 

Recursos adicionais recomendados: 

Avalie este artigo

Veja outros artigos sobre Mobile