plugins { id 'com.android.application' id 'kotlin-android' } android { compileSdk 31 defaultConfig { applicationId 'com.github.libretube' minSdk 21 targetSdk 31 versionCode 12 versionName '0.3.2' multiDexEnabled true testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' resValue "string", "app_name", "LibreTube" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } debug { debuggable true applicationIdSuffix ".debug" resValue "string", "app_name", "LibreTube Debug" } } compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } splits { abi { enable true reset() include "armeabi-v7a", "arm64-v8a", "x86", "x86_64" universalApk false } } packagingOptions { jniLibs { excludes += ['lib/armeabi-v7a/*_neon.so'] } } namespace 'com.github.libretube' } dependencies { //debugImplementation libs.square.leakcanary implementation libs.androidx.appcompat implementation libs.androidx.constraintlayout implementation libs.androidx.legacySupport implementation libs.androidx.multidex implementation libs.androidx.navigation.fragment implementation libs.androidx.navigation.ui implementation libs.androidx.preference androidTestImplementation libs.androidx.test.junit androidTestImplementation libs.androidx.test.espressoCore implementation libs.circleimageview implementation libs.material implementation libs.exoplayer implementation(libs.exoplayer.extension.cronet) { exclude group: 'com.google.android.gms' } implementation libs.exoplayer.extension.mediasession implementation libs.square.picasso implementation libs.square.retrofit implementation libs.square.retrofit.converterJackson // Do not update jackson annotations! It does not supports < API 26. implementation libs.jacksonAnnotations implementation libs.mobileffmpeg coreLibraryDesugaring libs.desugaring implementation libs.cronet.embedded implementation libs.gson }