Repositório principal do app Sign desenvolvido pelo IEEE Computational Intelligence Society
- Pré-requisitos
- Como Rodar o Projeto
- O que o Script de Automação Faz?
- Solução de Problemas (Troubleshooting)
Antes de começar, certifique-se de que você tem as seguintes ferramentas instaladas e configuradas em sua máquina:
-
Node.js >= 20 — recomendado via nvm
-
Android Studio + Android SDK com pelo menos um Emulador (AVD) criado
-
watchman (Linux/macOS) — necessário para o Hot Reload funcionar corretamente:
# Ubuntu/Debian sudo apt-get install -y watchman # macOS brew install watchman
IMPORTANTE: Após instalar o Android SDK, é necessário configurar a variável de ambiente ANDROID_HOME apontando para o diretório do SDK.
Com o ambiente devidamente configurado,
git clone https://github.com/UnB-CIS/Sign-App.git
cd Sign-AppEscolha o comando correspondente ao seu sistema operacional. O comando cobrirá desde a instalação de dependências dentro do Docker até a inicialização do app.
npm install
ANDROID_HOME="/home/$(whoami)/Android/Sdk" npm run dev:start:unixnpm install
ANDROID_HOME="/home/$(whoami)/Android/Sdk" npm run dev:start:unixdevicenpm install
npm run dev:start:winE pronto, suas alterações no código serão refletidas automaticamente no emulador (Hot Reload).
O comando npm run dev:start:* executa uma série de passos para criar um ambiente de desenvolvimento completo e funcional:
- Verifica se a variável de ambiente
ANDROID_HOMEestá configurada. - Inicia o Metro Bundler diretamente no host (na porta 8081) com reset de cache.
- Aguarda a porta 8081 ficar disponível.
- Inicia o emulador Android (AVD) automaticamente em segundo plano (modo emulador) ou aguarda um dispositivo USB (modo device).
- Aguarda o sistema operacional do emulador carregar por completo.
- Configura o
adb reverse tcp:8081 tcp:8081, permitindo que o app no emulador se comunique com o Metro no host. - Compila o app via Gradle (
assembleDebug) e instala no dispositivo (installDebug). - Inicia o aplicativo automaticamente.
-
Erro:
A variável de ambiente ANDROID_HOME não está definida.-
Solução: Crie a variável de ambiente
ANDROID_HOMEapontando para a pasta do Android SDK (normalmente~/Android/Sdkno Linux/macOS). Adicione ao seu~/.bashrcou~/.zshrc:export ANDROID_HOME="$HOME/Android/Sdk" export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator"
-
-
Erro:
Nenhum emulador (AVD) encontrado.-
Solução: Crie um dispositivo virtual pelo AVD Manager no Android Studio ou via linha de comando:
avdmanager create avd -n MeuEmulador -k "system-images;android-34;google_apis;x86_64"
-
-
O comando
adbnão foi encontrado.- Solução: O
adbfica em$ANDROID_HOME/platform-tools. Certifique-se de que esse caminho está no seuPATH(veja item 1).
- Solução: O
-
Hot Reload não funciona (alterações no código não refletem no emulador).
- Solução: Certifique-se de que o watchman está instalado (
watchman --version). Sem ele, o Metro usa um watcher menos eficiente que pode não detectar mudanças de arquivos corretamente no Linux.
- Solução: Certifique-se de que o watchman está instalado (
-
Erro de versão do Node.js.
-
Solução: O projeto requer Node.js >= 20. Use o nvm para gerenciar versões:
nvm install 20 nvm use 20
-
-
A porta 8081 já está em uso.
-
Solução: Encerre o processo que está ocupando a porta e tente novamente:
fuser -k 8081/tcp
-
