99 lines
2.8 KiB
Markdown
99 lines
2.8 KiB
Markdown
# ⚙️ 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 |
|