apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' if (getGradle().getStartParameter().getTaskRequests().toString().contains("Base")) apply plugin: 'io.fabric' android { buildToolsVersion "28.0.3" compileSdkVersion 28 compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } defaultConfig { applicationId "be.mygod.vpnhotspot" minSdkVersion 21 targetSdkVersion 28 resConfigs "ru", "zh-rCN" versionCode 117 versionName "2.2.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] } } } buildTypes { debug { pseudoLocalesEnabled true } release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } dataBinding.enabled = true flavorDimensions("fdroid", "freedom") productFlavors { base { dimension "fdroid" } fdroid { dimension "fdroid" } freedom { dimension "freedom" buildConfigField "boolean", "DONATIONS", "true" } google { dimension "freedom" buildConfigField "boolean", "DONATIONS", "false" } } sourceSets { androidTest.assets.srcDirs += files("$projectDir/schemas".toString()) } } androidExtensions { experimental = true } dependencies { kapt "androidx.lifecycle:lifecycle-compiler:$lifecycleVersion" kapt "androidx.room:room-compiler:$roomVersion" implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.browser:browser:1.0.0' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3' implementation 'androidx.core:core-ktx:1.0.1' implementation 'androidx.emoji:emoji:1.0.0' implementation "androidx.lifecycle:lifecycle-extensions:$lifecycleVersion" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion" implementation 'androidx.preference:preference:1.1.0-alpha02' implementation "androidx.room:room-coroutines:$roomVersion" implementation 'com.github.luongvo:BadgeView:1.1.5' implementation 'com.github.topjohnwu.libsu:core:2.2.1' implementation 'com.google.android.material:material:1.0.0' implementation 'com.jakewharton.timber:timber:4.7.1' implementation 'com.linkedin.dexmaker:dexmaker:2.21.0' implementation 'com.takisoft.preferencex:preferencex-simplemenu:1.0.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion" implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.1' baseImplementation 'com.android.billingclient:billing:1.2' baseImplementation 'com.crashlytics.sdk.android:crashlytics:2.9.8' baseImplementation 'com.google.firebase:firebase-core:16.0.6' testImplementation "androidx.arch.core:core-testing:$lifecycleVersion" testImplementation 'junit:junit:4.12' androidTestImplementation "androidx.room:room-testing:$roomVersion" androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.0' } if (getGradle().getStartParameter().getTaskRequests().toString().contains("Base")) apply plugin: 'com.google.gms.google-services'