apply plugin: 'com.android.application' apply plugin: 'com.google.android.gms.oss-licenses-plugin' apply plugin: 'com.google.firebase.crashlytics' apply plugin: 'com.google.gms.google-services' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' def javaVersion = JavaVersion.VERSION_1_8 android { compileSdkVersion 29 compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility javaVersion targetCompatibility javaVersion } kotlinOptions.jvmTarget = javaVersion defaultConfig { applicationId "be.mygod.vpnhotspot" minSdkVersion 21 targetSdkVersion 29 resConfigs 'it', 'ru', 'zh-rCN', 'zh-rTW' versionCode 222 versionName '2.8.1' testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" javaCompileOptions.annotationProcessorOptions.arguments = [ "room.incremental": "true", "room.schemaLocation": "$projectDir/schemas".toString(), ] buildConfigField "boolean", "DONATIONS", "true" } buildFeatures { dataBinding = true viewBinding = true } buildTypes { debug { pseudoLocalesEnabled true } release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } flavorDimensions("freedom") packagingOptions.exclude '**/*.kotlin_*' productFlavors { freedom { dimension "freedom" } google { dimension "freedom" buildConfigField "boolean", "DONATIONS", "false" } } sourceSets { androidTest.assets.srcDirs += files("$projectDir/schemas".toString()) } } androidExtensions { experimental = true } def lifecycleVersion = '2.2.0' def roomVersion = '2.2.5' dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.5' kapt "androidx.room:room-compiler:$roomVersion" implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.browser:browser:1.2.0' implementation 'androidx.core:core-ktx:1.3.0-rc01' implementation 'androidx.emoji:emoji:1.1.0-beta01' implementation 'androidx.fragment:fragment-ktx:1.2.4' implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion" implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion" implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion" implementation 'androidx.preference:preference:1.1.1' implementation "androidx.room:room-ktx:$roomVersion" implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-rc01' implementation 'com.android.billingclient:billing-ktx:2.2.0' implementation 'com.github.topjohnwu.libsu:core:2.5.1' implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0' implementation 'com.google.android.material:material:1.1.0' implementation 'com.google.firebase:firebase-analytics-ktx:17.3.0' implementation 'com.google.firebase:firebase-crashlytics:17.0.0-beta04' implementation 'com.google.zxing:core:3.4.0' implementation 'com.jakewharton.timber:timber:4.7.1' implementation 'com.linkedin.dexmaker:dexmaker:2.25.1' implementation 'com.takisoft.preferencex:preferencex-simplemenu:1.1.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion" implementation 'org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.2' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5' testImplementation 'junit:junit:4.13' androidTestImplementation "androidx.room:room-testing:$roomVersion" androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.1' }