Antes de rodar o projeto, certifique-se de ter instalado:
- Node.js (versão LTS)
- Android Studio com Android SDK
- Java JDK 17 (Temurin 17) — não use Java 21, é incompatível com o Gradle
- Expo CLI
O projeto usa dois tokens do Mapbox com funções diferentes:
| Token | Onde usar | Função |
|---|---|---|
pk.xxx |
MapScreen.jsx → Mapbox.setAccessToken() |
Exibir o mapa no app |
sk.xxx |
MAPBOX_DOWNLOADS_TOKEN no gradle.properties e variável de ambiente |
Baixar o SDK nativo durante o build |
Solicite os tokens ao responsável pelo mapa.
Crie o arquivo .env com base no .env_Example:
Baixe do Firebase Console:
- Acesse https://console.firebase.google.com
- Projeto SaudeCheck → Configurações → Google Services
- Baixe o
google-services.jsone coloque na raiz do projeto
git clone <url-do-repositorio>
cd SaudeCheck
npm install --registry https://registry.npmjs.org
⚠️ Sempre use--registry https://registry.npmjs.orgpara evitar conflitos com o registry do Mapbox.
Siga o exemplo do arquivo .env_Example
EXPO_PUBLIC_MAPBOX_TOKEN= token_pk.
RNMAPBOX_MAPS_DOWNLOAD_TOKEN=sk.SEU_TOKEN_SECRETO
⚠️ Nunca commite esse arquivo! Ele está no.gitignore.
Abra o arquivo android/gradle.properties e adicione no final:
org.gradle.java.home=C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.x.x-hotspotAjuste o caminho conforme a versão instalada no pc. Para verificar, rode
java -versionno terminal. Se tiver chocolatey, só instala a versão 17 junto.
choco install temurin17 -yO Mapbox usa módulos nativos e não funciona com npx expo start. Use sempre npx expo run:android.
1. Rode o prebuild:
npx expo prebuild --clean2. Recrie o arquivo android/local.properties (o --clean apaga esse arquivo!):
sdk.dir=C:/Users/SEU_USUARIO/AppData/Local/Android/SdkSubstitua
SEU_USUARIOpelo seu usuário do Windows. Para descobrir, rodeecho %USERNAME%no CMD.
3. Recrie o arquivo .npmrc na raiz do projeto (o --clean apaga esse arquivo!):
//api.mapbox.com/downloads/v2/releases/npm/:_authToken=sk.SEU_TOKEN_SECRETO
4. Conecte seu dispositivo Android via USB com depuração USB ativada, ou abra o emulador no Android Studio.
5. Rode o app:
npx expo run:androidApós a configuração inicial, para rodar normalmente:
npx expo run:android
⚠️ Só use--cleanquando mudar algo noapp.jsonou instalar/remover pacotes nativos. Lembre-se de recriar olocal.propertiese o.npmrcdepois!
Toda vez que rodar npx expo prebuild --clean, você precisa recriar manualmente:
android/local.properties.npmrc(na raiz do projeto)
O arquivo android/local.properties foi apagado pelo --clean. Recrie-o com o caminho do Android SDK.
O token sk. não está configurado corretamente. Verifique:
- O arquivo
android/gradle.propertiestem a linhaMAPBOX_DOWNLOADS_TOKEN=sk.xxx - O arquivo
.envtemRNMAPBOX_MAPS_DOWNLOAD_TOKEN=sk.xxx
Verifique se está usando o Java 17. Rode java -version no terminal para confirmar. Adicione o caminho do JDK 17 no android/gradle.properties.
Você está rodando com npx expo start. O Mapbox não funciona com Expo Go ou expo start. Use sempre npx expo run:android.
O .npmrc está redirecionando pro servidor do Mapbox. Use sempre:
npm install PACOTE --registry https://registry.npmjs.orgO token pk. no código está sem aspas. Verifique no MapScreen.jsx:
Mapbox.setAccessToken("pk.SEU_TOKEN_AQUI"); // ← aspas obrigatórias!