// Configuração do módulo app - aplicação principal Android // Plugins aplicados a este módulo plugins { id 'com.android.application' // Plugin para criar aplicação Android } // Configurações específicas do Android android { namespace 'pt.epvc.gestodedespesas' // Namespace único da aplicação compileSdk 35 // Versão do SDK Android para compilação // Configurações padrão da aplicação defaultConfig { applicationId 'pt.epvc.gestodedespesas' // ID único da aplicação na Play Store minSdk 24 // Versão mínima do Android suportada (Android 7.0) targetSdk 35 // Versão do Android para a qual a aplicação foi desenvolvida versionCode 1 // Número da versão (incrementa a cada release) versionName '1.0' // Nome da versão exibido aos usuários testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' // Runner para testes instrumentados } // Configurações de build (Debug/Release) buildTypes { release { minifyEnabled false // Desabilita minificação (otimização de código) proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // Arquivos ProGuard } } // Configurações de compilação Java compileOptions { sourceCompatibility JavaVersion.VERSION_11 // Versão do Java para código fonte targetCompatibility JavaVersion.VERSION_11 // Versão do Java para bytecode compilado } } // Dependências da aplicação dependencies { // Bibliotecas AndroidX (suporte moderno) implementation 'androidx.appcompat:appcompat:1.7.1' // Compatibilidade com versões antigas implementation 'com.google.android.material:material:1.10.0' // Material Design Components implementation 'androidx.activity:activity:1.8.2' // Activity base moderna implementation 'androidx.constraintlayout:constraintlayout:2.1.4' // Layout com constraints // Bibliotecas de teste testImplementation 'junit:junit:4.13.2' // Framework de testes unitários androidTestImplementation 'androidx.test.ext:junit:1.1.5' // Extensões JUnit para Android androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' // Framework de testes de interface }