diff --git a/vendor/gradle-plugin/build.gradle b/vendor/gradle-plugin/build.gradle
index 657e49bb60..626dfca794 100644
--- a/vendor/gradle-plugin/build.gradle
+++ b/vendor/gradle-plugin/build.gradle
@@ -6,6 +6,12 @@ apply plugin: 'com.android.library'
 apply plugin: 'kotlin-android'
 apply plugin: 'kotlin-android-extensions'
 
+def computeKotlinVersion = { -> project.hasProperty("kotlinVersion") ? kotlinVersion : "1.4.21" }
+def computeCompileSdkVersion = { -> project.hasProperty("compileSdk") ? compileSdk : 28 as int }
+def computeTargetSdkVersion = { -> project.hasProperty("targetSdk") ? targetSdk : 28 as int }
+def computeBuildToolsVersion = { ->
+    project.hasProperty("buildToolsVersion") ? buildToolsVersion : "28.0.3" as String
+}
 
 buildscript {
     def computeKotlinVersion = { -> project.hasProperty("kotlinVersion") ? kotlinVersion : "1.4.21" }
@@ -88,39 +94,36 @@ allprojects {
 }
 
 
-def computeCompileSdkVersion = { -> project.hasProperty("compileSdk") ? compileSdk : 28 }
-def computeBuildToolsVersion = { ->
-    project.hasProperty("buildToolsVersion") ? buildToolsVersion : "28.0.3"
-}
-
 android {
+    kotlinOptions {
+        jvmTarget = '1.8'
+    }
     applyBeforePluginGradleConfiguration()
 
     compileSdkVersion computeCompileSdkVersion()
     buildToolsVersion computeBuildToolsVersion()
 
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+
     defaultConfig {
-        targetSdkVersion 26
+        targetSdkVersion computeTargetSdkVersion()
         versionCode 1
         versionName "1.0"
     }
 }
 
 dependencies {
-    def supportVer = "28.0.0"
-    if (project.hasProperty("supportVersion")) {
-        supportVer = supportVersion
-    }
-    compileOnly "com.android.support:support-v4:$supportVer"
-    compileOnly "com.android.support:appcompat-v7:$supportVer"
-
-    configurations.all {
-       resolutionStrategy.eachDependency { DependencyResolveDetails details ->
-           if (details.requested.group == "com.android.support" && !details.requested.name.startsWith("multidex")) {
-               details.useVersion supportVer
-           }
-       }
-    }
+    def androidXMultidexVersion =  project.hasProperty("androidXMultidexVersion") ? project.androidXMultidexVersion : "2.0.1"
+    def androidxVersion =  project.hasProperty("androidxVersion") ? project.androidxVersion : "1.2.0"
+    def androidXAppCompatVersion =  project.hasProperty("androidXAppCompat") ? project.androidXAppCompat : "1.3.1"
+    def kotlinVersion = computeKotlinVersion()
+    implementation "androidx.multidex:multidex:$androidXMultidexVersion"
+	implementation "androidx.core:core:$androidxVersion"
+    implementation "androidx.appcompat:appcompat:$androidXAppCompatVersion"
+    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
 }
 
 def applyBeforePluginGradleConfiguration() {
@@ -131,4 +134,25 @@ def applyBeforePluginGradleConfiguration() {
         outLogger.withStyle(Style.SuccessHeader).println "\t ~ applying user-defined configuration from ${beforePluginGradle}"
         apply from: pathToBeforePluginGradle
     }
-}
\ No newline at end of file
+}
+
+afterEvaluate {
+    def generateBuildConfig =  project.hasProperty("generateBuildConfig") ? project.generateBuildConfig : false
+    def generateR =  project.hasProperty("generateR") ? project.generateR : false
+    generateReleaseBuildConfig.enabled = generateBuildConfig
+    generateDebugBuildConfig.enabled = generateBuildConfig
+    generateReleaseResValues.enabled = generateR
+    generateDebugResValues.enabled = generateR
+}
+tasks.whenTaskAdded({ DefaultTask currentTask ->
+    if (currentTask.name == 'bundleRelease' || currentTask.name == 'bundleDebug') {
+        def generateBuildConfig =  project.hasProperty("generateBuildConfig") ? project.generateBuildConfig : false
+        def generateR =  project.hasProperty("generateR") ? project.generateR : false
+        if (!generateBuildConfig) {
+            currentTask.exclude '**/BuildConfig.class'
+        }
+        if (!generateR) {
+            currentTask.exclude '**/R.class', '**/R$*.class'
+        }
+    }
+})
\ No newline at end of file
diff --git a/vendor/gradle-plugin/gradle.properties b/vendor/gradle-plugin/gradle.properties
index 4385ddd9f4..849c4366ef 100644
--- a/vendor/gradle-plugin/gradle.properties
+++ b/vendor/gradle-plugin/gradle.properties
@@ -18,3 +18,6 @@ org.gradle.jvmargs=-Xmx16384M
 
 android.enableJetifier=true
 android.useAndroidX=true
+android.nonTransitiveRClass=true
+android.namespacedRClass=true
+android.enableSeparateRClassCompilation=true
\ No newline at end of file