//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 } } kotlinOptions { jvmTarget = project.ext.jvmTarget } 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 true reset() universalApk false //noinspection ChromeOsAbiSupport # CHROME OS NOT SUPPORTED YET include project.ext.chrome, project.ext.abi_arm64, project.ext.abi_armeabi } } bundle { abi { enableSplit = false } } sourceSets { main { res.srcDirs = project.ext.resource_directories jniLibs.srcDirs = ['src/main/jniLibs'] } orionRelease.root = project.ext.releaseRoot } namespace project.ext.application_id packagingOptions { jniLibs { useLegacyPackaging true } } lint { disable project.ext.lintoption } buildFeatures { buildConfig true } } dependencies { /* File Support Dependencies */ implementation fileTree(dir: 'libs', include: ['*.jar']) implementation files('libs/httpclientandroidlib-1.2.1.jar') /* Android Support Repository Dependencies */ implementation 'com.google.android.material:material:1.11.0' implementation 'org.apache.commons:commons-text:1.3' implementation "androidx.work:work-runtime:2.9.0" /* Firefox ABI Splits */ implementation "org.mozilla.components:browser-engine-gecko:121.0" implementation "org.mozilla.components:browser-icons:121.0" implementation "org.mozilla.components:concept-fetch:121.0" implementation "org.mozilla.components:concept-base:121.0" implementation "org.mozilla.components:support-utils:121.0" /* Orbot Service */ implementation project(path: ':orbotmanager') /* Helper Libraries */ implementation 'androidx.appcompat:appcompat:1.6.1' implementation "androidx.media:media:1.7.0" implementation 'com.android.volley:volley:1.2.1' implementation "net.zetetic:android-database-sqlcipher:4.4.3" implementation 'com.karumi:dexter:6.2.3' } /* Automated APK Generation */ // //android.applicationVariants.configureEach { 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 // } // } //}