# ⚙️ Configuração Gradle — Build do Projeto > **Ficheiros:** `build.gradle` (raiz), `app/build.gradle`, `settings.gradle` --- ## settings.gradle Define o **nome do projeto** e os **repositórios** de onde são descarregadas as dependências. ```gradle rootProject.name = "Cuida" include ':app' ``` | Repositório | Finalidade | |---|---| | `google()` | Bibliotecas Android e Firebase | | `mavenCentral()` | Bibliotecas Java/Kotlin gerais | | `jitpack.io` | Bibliotecas de projetos GitHub | --- ## build.gradle (raiz) Define os **plugins globais** e as suas versões. | Plugin | Versão | Finalidade | |---|---|---| | `com.android.application` | 9.2.0 | Compilação de apps Android | | `com.android.library` | 9.2.0 | Compilação de bibliotecas Android | | `com.google.gms.google-services` | 4.4.4 | Integração com Firebase | --- ## app/build.gradle Configuração principal da aplicação. ### Identificação da App | Propriedade | Valor | |---|---| | `namespace` | `com.example.medcuida.pro` | | `applicationId` | `com.example.medcuida.pro` | | `compileSdk` | 35 | | `minSdk` | 24 (Android 7.0) | | `targetSdk` | 35 | | `versionCode` | 1 | | `versionName` | `"1.0"` | | Java | 1.8 | | View Binding | ✅ Ativado | ### Dependências Organizadas por Categoria #### 🎨 Interface (UI) | Dependência | Versão | Uso | |---|---|---| | `appcompat` | 1.6.1 | Compatibilidade com versões antigas do Android | | `material` | 1.11.0 | Componentes Material Design (botões, cards, nav) | | `constraintlayout` | 2.1.4 | Layouts flexíveis e responsivos | | `navigation-fragment` | 2.7.7 | Navegação entre fragments | | `navigation-ui` | 2.7.7 | UI de navegação | #### 🔥 Firebase | Dependência | Versão | Uso | |---|---|---| | `firebase-bom` | 32.7.2 | Gestão de versões Firebase (Bill of Materials) | | `firebase-auth` | via BoM | Autenticação (email/password) | | `firebase-firestore` | via BoM | Base de dados NoSQL em tempo real | #### 🤖 IA e Rede | Dependência | Versão | Uso | |---|---|---| | `generativeai` | Última | Google Gemini AI SDK | | `guava` | 31.1 | Operações assíncronas (Futures) | | `retrofit` | 2.9.0 | Chamadas HTTP tipadas | | `converter-gson` | 2.9.0 | Conversão JSON ↔ objetos Java | | `okhttp` | 4.10.0 | Cliente HTTP base | #### 🔑 Autenticação Avançada | Dependência | Versão | Uso | |---|---|---| | `credentials` | 1.5.0 | API de credenciais Android | | `credentials-play-services-auth` | 1.5.0 | Google Sign-In via Credentials | | `googleid` | 1.1.1 | Google Identity | #### 📍 Localização | Dependência | Versão | Uso | |---|---|---| | `play-services-location` | 21.0.1 | Serviços de localização GPS | #### 🧪 Testes | Dependência | Versão | Uso | |---|---|---| | `junit` | 4.13.2 | Testes unitários | | `ext:junit` | 1.1.5 | Testes instrumentados | | `espresso-core` | 3.5.1 | Testes de UI |