import com.android.build.OutputFile plugins { id "com.jetbrains.python.envs" version "0.0.26" } apply plugin: 'com.android.application' apply from: 'variables.gradle' apply plugin: 'kotlin-android' android { compileSdkVersion project.ext.compile_sdk_version ndkVersion project.ext.ndk_version defaultConfig { applicationId project.ext.application_id minSdkVersion project.ext.min_sdk_version targetSdkVersion project.ext.target_sdk_version versionCode project.ext.vcode versionName project.ext.vname ndk { debugSymbolLevel project.ext.debugSymbolLevel } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildTypes { release { minifyEnabled project.ext.minifyEnabled shrinkResources project.ext.shrinkResources proguardFiles getDefaultProguardFile(project.ext.proguard_file), project.ext.proguard_rule } } flavorDimensions project.ext.dimen productFlavors { orion { dimension project.ext.dimen } } splits { abi { enable project.ext.splitEnabled reset() include project.ext.abi_x86, project.ext.abi_x86_x64, project.ext.abi_arm64, project.ext.abi_armeabi } } bundle { abi { enableSplit = true } } sourceSets { main { res.srcDirs = project.ext.resource_directories } orionRelease.root = project.ext.releaseRoot } namespace 'com.example.myapplication' } dependencies { /* File Support Dependencies */ implementation fileTree(dir: 'libs', include: ['*.jar']) implementation files('libs/httpclientandroidlib-1.2.1.jar') /* Android Support Repository Dependencies */ implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0' implementation 'com.google.android.material:material:1.7.0' implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.7.20' implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10' implementation 'org.apache.commons:commons-text:1.3' implementation 'androidx.work:work-runtime-ktx:2.8.0-beta02' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'com.android.support.constraint:constraint-layout:2.0.4' implementation 'androidx.preference:preference-ktx:1.2.0' implementation 'com.android.support:support-annotations:29.0.0' implementation 'androidx.appcompat:appcompat:1.5.1' /* Firefox ABI Splits */ implementation "androidx.compose.foundation:foundation:1.3.1" implementation "org.mozilla.components:browser-engine-gecko:100.0.20220327143103" implementation "org.mozilla.components:support-rusthttp:100.0.20220327143103" implementation "org.mozilla.components:support-rustlog:100.0.20220327143103" implementation "org.mozilla.components:browser-icons:100.0.20220327143103" implementation "org.mozilla.components:concept-fetch:100.0.20220327143103" implementation "org.mozilla.components:concept-base:100.0.20220327143103" implementation "org.mozilla.components:support-utils:100.0.20220327143103" /* Analytics */ implementation 'com.flurry.android:analytics:13.1.0@aar' /* Ads Manager */ implementation 'com.applovin:applovin-sdk:11.5.5' implementation 'com.applovin.mediation:adcolony-adapter:4.8.0.2' implementation 'com.adcolony:sdk:4.8.0' implementation 'com.facebook.android:audience-network-sdk:6.8.0' implementation 'com.applovin.mediation:facebook-adapter:6.8.0.12' /* Orbot Service */ implementation project(path: ':orbotmanager') /* Helper Libraries */ implementation "android.arch.lifecycle:extensions:1.1.1" implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" implementation 'com.coolerfall:android-http-download-manager:1.6.3' implementation 'com.android.volley:volley:1.2.1' implementation "net.zetetic:android-database-sqlcipher:4.4.3" implementation "androidx.sqlite:sqlite-ktx:2.2.0" implementation 'androidx.palette:palette-ktx:1.0.0' implementation 'org.jsoup:jsoup:1.13.1' } /* Automated APK Generation */ android.applicationVariants.all { variant -> def buildType = variant.buildType.name if (buildType == project.ext.buildType) { def baseVersionCode = project.ext.vcode variant.outputs.each { output -> def abi = output.getFilter(OutputFile.ABI) def versionCodeOverride = baseVersionCode if (abi == project.ext.abi_x86) { versionCodeOverride = versionCodeOverride + 3 } else if (abi == project.ext.abi_x86_x64) { versionCodeOverride = versionCodeOverride + 2 } else if (abi == project.ext.abi_arm64) { versionCodeOverride = versionCodeOverride + 1 } else if (abi == project.ext.abi_armeabi) { versionCodeOverride = versionCodeOverride + 0 } else { throw new RuntimeException(project.ext.abi_unknown + abi) } output.versionCodeOverride = versionCodeOverride } } }