plugins { id 'com.android.application' } // Load local.properties def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { localPropertiesFile.withInputStream { localProperties.load(it) } } android { namespace 'com.example.boidelov3' compileSdk 35 buildFeatures { buildConfig = true } packagingOptions { resources.excludes.add("META-INF/*") } // This line is added to avoid the error: Duplicate files copied in APK META-INF/LICENSE.txt defaultConfig { applicationId "com.example.boidelov3" minSdk 24 targetSdk 35 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // IMPORTANT: Database credentials should NEVER be stored in BuildConfig // Use a secure backend API instead, or Android Keystore for local storage // These fields are kept empty for backward compatibility but will be removed buildConfigField "String", "DB_URL", "\"\"" buildConfigField "String", "DB_USER", "\"\"" buildConfigField "String", "DB_PASSWORD", "\"\"" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'com.google.android.material:material:1.12.0' implementation 'androidx.constraintlayout:constraintlayout:2.2.0' testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-core:5.7.0' androidTestImplementation 'androidx.test.ext:junit:1.2.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' implementation 'com.squareup.okhttp3:okhttp:4.12.0' implementation 'com.impossibl.pgjdbc-ng:pgjdbc-ng:0.8.3' implementation 'com.google.code.gson:gson:2.11.0' }