apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' android { compileSdkVersion 30 buildToolsVersion "30.0.3" ndkVersion "21.4.7075529" defaultConfig { applicationId "com.kunzisoft.keepass" minSdkVersion 15 targetSdkVersion 30 versionCode = 90 versionName = "3.0.3" multiDexEnabled true testApplicationId = "com.kunzisoft.keepass.tests" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" buildConfigField "String[]", "ICON_PACKS", "{\"classic\",\"material\"}" manifestPlaceholders = [ googleAndroidBackupAPIKey:"unused" ] kapt { arguments { arg("room.incremental", "true") arg("room.schemaLocation", "$projectDir/schemas".toString()) } } } buildTypes { release { minifyEnabled = false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } flavorDimensions "version" productFlavors { libre { dimension "version" applicationIdSuffix = ".libre" buildConfigField "String", "BUILD_VERSION", "\"libre\"" buildConfigField "boolean", "FULL_VERSION", "true" buildConfigField "boolean", "CLOSED_STORE", "false" buildConfigField "String[]", "STYLES_DISABLED", "{\"KeepassDXStyle_Red\"," + "\"KeepassDXStyle_Red_Night\"," + "\"KeepassDXStyle_Purple\"," + "\"KeepassDXStyle_Purple_Dark\"}" buildConfigField "String[]", "ICON_PACKS_DISABLED", "{}" } pro { dimension "version" applicationIdSuffix = ".pro" buildConfigField "String", "BUILD_VERSION", "\"pro\"" buildConfigField "boolean", "FULL_VERSION", "true" buildConfigField "boolean", "CLOSED_STORE", "true" buildConfigField "String[]", "STYLES_DISABLED", "{}" buildConfigField "String[]", "ICON_PACKS_DISABLED", "{}" manifestPlaceholders = [ googleAndroidBackupAPIKey:"AEdPqrEAAAAIZiXvrQCzSV9LNI6-p7cjTKENZLHIrz_zaqZuQQ" ] } free { dimension "version" applicationIdSuffix = ".free" buildConfigField "String", "BUILD_VERSION", "\"free\"" buildConfigField "boolean", "FULL_VERSION", "false" buildConfigField "boolean", "CLOSED_STORE", "true" buildConfigField "String[]", "STYLES_DISABLED", "{\"KeepassDXStyle_Blue\"," + "\"KeepassDXStyle_Blue_Night\"," + "\"KeepassDXStyle_Red\"," + "\"KeepassDXStyle_Red_Night\"," + "\"KeepassDXStyle_Purple\"," + "\"KeepassDXStyle_Purple_Dark\"}" buildConfigField "String[]", "ICON_PACKS_DISABLED", "{}" manifestPlaceholders = [ googleAndroidBackupAPIKey:"AEdPqrEAAAAIbRfbV8fHLItXo8OcHwrO0sSNblqhPwkc0DPTqg" ] } } sourceSets { libre.res.srcDir 'src/libre/res' pro.res.srcDir 'src/pro/res' free.res.srcDir 'src/free/res' } testOptions { unitTests.includeAndroidResources = true } compileOptions { targetCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } } def room_version = "2.3.0" dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation "androidx.appcompat:appcompat:$android_appcompat_version" implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.2' implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01' implementation 'androidx.documentfile:documentfile:1.0.1' implementation 'androidx.biometric:biometric:1.1.0' implementation 'androidx.media:media:1.4.3' // Lifecycle - LiveData - ViewModel - Coroutines implementation "androidx.core:core-ktx:$android_core_version" implementation 'androidx.fragment:fragment-ktx:1.3.6' implementation "com.google.android.material:material:$android_material_version" // Database implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" // Autofill implementation "androidx.autofill:autofill:1.1.0" // Time implementation 'joda-time:joda-time:2.10.13' // Color implementation 'com.github.Kunzisoft:AndroidClearChroma:2.4' // Education implementation 'com.getkeepsafe.taptargetview:taptargetview:1.13.3' // Apache Commons implementation 'commons-io:commons-io:2.8.0' implementation 'commons-codec:commons-codec:1.15' // Encrypt lib implementation project(path: ':crypto') // Icon pack implementation project(path: ':icon-pack-classic') implementation project(path: ':icon-pack-material') // Tests androidTestImplementation "androidx.test:runner:$android_test_version" androidTestImplementation "androidx.test:rules:$android_test_version" }