apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { compileSdkVersion 29 buildToolsVersion '29.0.3' defaultConfig { applicationId "com.kunzisoft.keepass" minSdkVersion 14 targetSdkVersion 29 versionCode = 41 versionName = "2.8.5" multiDexEnabled true testApplicationId = "com.kunzisoft.keepass.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" buildConfigField "String[]", "ICON_PACKS", "{\"classic\",\"material\"}" manifestPlaceholders = [ googleAndroidBackupAPIKey:"" ] kapt { arguments { arg("room.incremental", "true") arg("room.schemaLocation", "$projectDir/schemas".toString()) } } } externalNativeBuild { cmake { path "src/main/jni/CMakeLists.txt" } } 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_Purple\"}" 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_Red\",\"KeepassDXStyle_Purple\"}" 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' } compileOptions { targetCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } } def room_version = "2.2.5" dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.preference:preference:1.1.1' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.documentfile:documentfile:1.0.1' implementation 'androidx.biometric:biometric:1.0.1' // Lifecycle - LiveData - ViewModel - Coroutines implementation "androidx.core:core-ktx:1.3.1" implementation 'androidx.fragment:fragment-ktx:1.2.5' // To upgrade with style implementation 'com.google.android.material:material:1.0.0' // Database implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" // Crypto implementation 'org.bouncycastle:bcprov-jdk15on:1.65.01' // Time implementation 'joda-time:joda-time:2.10.6' // Color implementation 'com.github.Kunzisoft:AndroidClearChroma:2.3' // Education implementation 'com.getkeepsafe.taptargetview:taptargetview:1.13.0' // Apache Commons Collections implementation 'commons-collections:commons-collections:3.2.2' // Apache Commons Codec implementation 'commons-codec:commons-codec:1.14' // Icon pack implementation project(path: ':icon-pack-classic') implementation project(path: ':icon-pack-material') // Tests androidTestImplementation 'junit:junit:4.13' }