plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' } android { compileSdkVersion buildConfig.compileSdk defaultConfig { applicationId "foundation.e.advancedprivacy" minSdkVersion buildConfig.minSdk targetSdkVersion buildConfig.targetSdk versionCode buildConfig.version.code versionName buildConfig.version.name testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" manifestPlaceholders = [ persistent: "false", mainActivityIntentFilterCategory: "android.intent.category.LAUNCHER" ] resValue("string", "mapbox_key", MAPBOX_KEY) } signingConfigs { debug { storeFile rootProject.file(".sign/debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } // We use test platform keys to sign /e/OS specific debug flavour. eDebug { storeFile rootProject.file(".sign/platform.jks") storePassword "android" keyAlias "platform" keyPassword "android" } } // We define here the OS flavor e, specific for the /e/ OS version, and google, for any // android device. The e or google prefix is then used in resources, dependencies, ... as // expected by the android gradle plugin. flavorDimensions 'os' productFlavors { e29 { dimension 'os' minSdkVersion 29 targetSdkVersion 29 signingConfig signingConfigs.eDebug } e30 { dimension 'os' minSdkVersion 30 targetSdkVersion 30 signingConfig signingConfigs.eDebug } standalone { dimension 'os' applicationIdSuffix '.standalone' minSdkVersion 26 targetSdkVersion 31 manifestPlaceholders = [ persistent: "false", mainActivityIntentFilterCategory: "android.intent.category.LAUNCHER" ] signingConfig signingConfigs.debug } } buildTypes { debug { signingConfig null // Set signing config to null as we use signingConfig per variant. } release { manifestPlaceholders = [ persistent: "true", mainActivityIntentFilterCategory: "android.intent.category.INFO" ] minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } /** * Sets the output name of the variant outputs and also it setup signingConfig based on the product flavor. */ applicationVariants.all { variant -> variant.outputs.all { output -> outputFileName = "Advanced_Privacy-${variant.versionName}-${variant.getFlavorName()}-${variant.buildType.name}.apk" } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } aaptOptions { additionalParameters '-I', 'app/libs/e-ui-sdk-1.0.1-q.jar' } buildFeatures { dataBinding true viewBinding true } } dependencies { implementation project(':api') standaloneImplementation project(':permissionsstandalone') e29Implementation('foundation.e:privacymodule.e-29:1.2.0') { exclude group: 'foundation.e', module: 'privacymodule.api' } e30Implementation('foundation.e:privacymodule.e-30:1.2.0') { exclude group: 'foundation.e', module: 'privacymodule.api' } implementation project(':fakelocation') e29CompileOnly files('libs/e-ui-sdk-1.0.1-q.jar') e29Implementation files('libs/lineage-sdk.jar') e30CompileOnly files('libs/e-ui-sdk-1.0.1-q.jar') e30Implementation files('libs/lineage-sdk.jar') implementation project(':trackers') implementation 'foundation.e:privacymodule.tor:0.2.4' implementation ( Libs.Kotlin.stdlib, Libs.AndroidX.coreKtx, Libs.AndroidX.appCompat, Libs.AndroidX.Fragment.fragmentKtx, Libs.AndroidX.Lifecycle.runtime, Libs.AndroidX.Lifecycle.viewmodel, Libs.AndroidX.work, Libs.material, Libs.Retrofit.retrofit, Libs.Retrofit.scalars, Libs.MapBox.sdk, Libs.mpAndroidCharts ) debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' } static def log(Object val) { println("[GradleRepository]: " + val) }