Usando o Expo

Exemplo com React Native + Expo (mais simples)

  1. Instale o Expo CLI
    npm install -g expo-cli
  2. Se você está começando, eu recomendo o Expo, porque ele resolve a parte chata do Android SDK e Gradle:
    npx create-expo-app MeuApp
    cd MeuApp

Como criar um link no React.js que abre um HTML num navegador externo usando o Expo

Arquivo: app/(tabs)/index.tsx
import { View, Text, Linking, StyleSheet } from 'react-native';

export default function App() {
  return (
    <View style={styles.container}>
      <Text style={styles.title}>Exemplo de link externo</Text>
      <Text
        style={styles.link}
        onPress={() => Linking.openURL('https://www.ouka.com.br/pagina-inicial.html')}
      >
        Abrir página externa
      </Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#fff',
  },
  title: {
    fontSize: 22,
    marginBottom: 20,
  },
  link: {
    fontSize: 18,
    color: 'blue',
    textDecorationLine: 'underline', // fica igual ao <a>
  },
});

Emulando

Usar um emulador do Android Studio

  1. Instale o Android Studio.

  2. Abra o Android StudioMore ActionsVirtual Device ManagerCreate device….

  3. Escolha, por exemplo, Pixel 7 → baixe uma imagem Android 15 (API 35) (Google APIs/Play) → Finish.

  4. Clique no ▶️ para iniciar o emulador.

  5. Deixe o Android Studio aberto, com o emulador aberto, como na foto abaixo:

  6. No terminal:

    Comando:
    adb devices # deve listar algo como emulator-5554 device
    npx expo start

Usar um emulador do XCode (MacOS)

Tentei emular o MacOS no VirtualBox e ele não instala no PC Windows 11, não vou destruir meu computador só para usar o MacOS pelo Dual Boot. Já tentei pelo Hackintosh mas não vou instalar no meu computador, para estragar! Não vale a pena instala-lo no computador. Compre um computador com MacOS se deseja trabalhar com a Apple.

Abrindo um Menu

npx expo start

No Navegador

npm run web

No Android

No iOS

npm run android npm run ios

Compilando

Como instalar o EAS CLI

No terminal, dentro do seu projeto Expo, rode:

npm install -g eas-cli

Confirme se instalou:

eas --version

Como usar

  1. Faça login na sua conta Expo (se não tem, crie em expo.dev):

    eas login
  2. Inicialize o projeto para usar o EAS:
    eas build:configure

     

  3. Agora sim, para gerar build Android:
    eas build -p android

No Android

No iOS

eas build -p android eas build -p ios

 

 

Ardroid/AAB/APK/Play Store

Perfeito — vou gerar aqui um guia completo, passo-a-passo, para criar um app React Native com Expo, gerar o build Android (AAB/APK) usando EAS, e publicar no Google Play Console. Vou incluir os comandos exatos, arquivos de configuração (App.js, app.json, eas.json) e as opções para upload (manual e via eas submit). Vamos lá!


1) Registrar conta no Google Play Console

Para publicar no Play Store você precisa de uma conta de desenvolvedor Google:


2) Enviar AAB/APK ao Google Play Console — passos básicos

A) Via upload manual

  1. Acesse Play Console → selecione sua conta → All appsCreate app.

  2. Preencha nome, idioma, tipo (app/game), conta de desenvolvedor.

  3. No menu à esquerda: ReleaseProductionCreate new release.

  4. Faça upload do arquivo .aab gerado pelo EAS (ou .apk para testes).

  5. Preencha informações de release (nome da versão, notas).

  6. Preencha Store listing (descrição, screenshots, ícone, categoria).

  7. Preencha Content rating, Pricing & distribution, políticas de privacidade.

  8. Depois, clique em Review releaseStart rollout to production (ou para internal testing primeiro).

  9. O Play fará checagens e publicará em algumas horas (pode levar horas ou alguns dias dependendo da verificação).

B) Via eas submit (automatizado)

Você pode enviar direto do EAS se configurar credenciais do Google Play (service account JSON):

  1. Crie uma service account no Google Cloud e dê permissão Service Account User e acesse Play Console API — no Play Console em Settings -> API access você cria a conta e vincula.

  2. Baixe o JSON da service account.

  3. Executar:

eas submit -p android --latest --service-account-json ./google-service-account.json  

eas submit faz upload direto do build mais recente para o Play Console.


3) Recomendações e checklist antes do envio


4) Como baixar o .aab/.apk do EAS Build (após build)

Depois do eas build terminar, ele exibirá uma URL do build na dashboard do expo.dev. Você também pode fazer:

eas build:list --platform android  

E abrir o link no browser para baixar o artefato.


5) Dicas finais importantes


Se quiser, eu posso:

Qual dessas você prefere que eu faça agora? (posso gerar os arquivos app.json/eas.json prontos com valores que você me passar).

 

iOS/Apple Store

Quando você executa:

eas build -p ios  

o EAS CLI precisa acessar a sua conta Apple Developer, porque é a Apple quem assina digitalmente todos os apps iOS.


📌 Onde se cadastrar

Você precisa se inscrever no Apple Developer Program:

🔗 https://developer.apple.com/programs/


✅ Detalhes importantes


🔑 O que o Expo vai pedir no login

Durante o eas build -p ios, o CLI pode pedir:


⚠️ Observação:
Mesmo que você esteja no Windows, o eas build funciona porque a compilação acontece na nuvem do Expo (não precisa de Mac).


👉 Quer que eu te mostre as diferenças entre conta Apple gratuita e paga, para você decidir se vale assinar o Developer Program?

Ótima pergunta 👍 Vou detalhar bem para você entender antes de gastar dinheiro:


📌 Diferença entre Conta Apple Gratuita (Apple ID comum) e Conta Apple Developer Paga

🔹 Conta Gratuita (Apple ID comum)

👉 Ou seja, com a conta gratuita você só consegue testar em simulador ou em seu próprio iPhone (com restrições).


🔹 Conta Paga (Apple Developer Program – US$ 99/ano)

👉 Essa é a conta necessária para quem quer lançar apps na App Store ou distribuir para usuários externos.


⚖️ Vale a pena pagar?


👉 Resumindo:


Quer que eu monte um passo a passo atualizado de como criar a conta paga no site da Apple Developer e ativar para usar no eas build -p ios?