Skip to content

UnB-CIS/Sign-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sign App

Version License React Native Node

Repositório principal do app Sign desenvolvido pelo IEEE Computational Intelligence Society

Sumário

Pré-requisitos

Antes de começar, certifique-se de que você tem as seguintes ferramentas instaladas e configuradas em sua máquina:

  • Git

  • 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.

Como Rodar o Projeto

Com o ambiente devidamente configurado,

Passo 1: Clone o Repositório

git clone https://github.com/UnB-CIS/Sign-App.git
cd Sign-App

Passo 2: Execute o Script de Automação

Escolha 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.

🐧 Para Linux ou macOS no Emulador:
npm install
ANDROID_HOME="/home/$(whoami)/Android/Sdk" npm run dev:start:unix
🐧 Para Linux ou macOS no Dispositivo USB:
npm install
ANDROID_HOME="/home/$(whoami)/Android/Sdk" npm run dev:start:unixdevice
💻 Para Windows (usando CMD ou PowerShell) no Emulador:
npm install
npm run dev:start:win

E pronto, suas alterações no código serão refletidas automaticamente no emulador (Hot Reload).

Dentro dos entrypoints

O comando npm run dev:start:* executa uma série de passos para criar um ambiente de desenvolvimento completo e funcional:

  1. Verifica se a variável de ambiente ANDROID_HOME está configurada.
  2. Inicia o Metro Bundler diretamente no host (na porta 8081) com reset de cache.
  3. Aguarda a porta 8081 ficar disponível.
  4. Inicia o emulador Android (AVD) automaticamente em segundo plano (modo emulador) ou aguarda um dispositivo USB (modo device).
  5. Aguarda o sistema operacional do emulador carregar por completo.
  6. Configura o adb reverse tcp:8081 tcp:8081, permitindo que o app no emulador se comunique com o Metro no host.
  7. Compila o app via Gradle (assembleDebug) e instala no dispositivo (installDebug).
  8. Inicia o aplicativo automaticamente.

Solução de Problemas (Troubleshooting)

  1. Erro: A variável de ambiente ANDROID_HOME não está definida.

    • Solução: Crie a variável de ambiente ANDROID_HOME apontando para a pasta do Android SDK (normalmente ~/Android/Sdk no Linux/macOS). Adicione ao seu ~/.bashrc ou ~/.zshrc:

      export ANDROID_HOME="$HOME/Android/Sdk"
      export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator"
  2. 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"
  3. O comando adb não foi encontrado.

    • Solução: O adb fica em $ANDROID_HOME/platform-tools. Certifique-se de que esse caminho está no seu PATH (veja item 1).
  4. 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.
  5. 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
  6. A porta 8081 já está em uso.

    • Solução: Encerre o processo que está ocupando a porta e tente novamente:

      fuser -k 8081/tcp

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors