plugins { id("com.android.application") id("org.jetbrains.kotlin.android") } android { namespace = "quest.montana.app" compileSdk = 34 defaultConfig { applicationId = "quest.montana.vpn" minSdk = 24 targetSdk = 34 versionCode = 70005 versionName = "7.0.5" buildConfigField("String", "APP_URL", "\"https://montana.quest/vpn/app/\"") ndk { abiFilters += listOf("arm64-v8a","armeabi-v7a","x86","x86_64") } } signingConfigs { create("release") { val ksPath: String = System.getenv("MT_KEYSTORE_PATH") ?: "../../keystore/montana.keystore" val ksPass: String = System.getenv("MT_KEYSTORE_PASS") ?: file("../../keystore/.password") .takeIf { it.exists() }?.readText()?.trim() ?: "" storeFile = file(ksPath) storePassword = ksPass keyAlias = "montana" keyPassword = ksPass } } buildFeatures { buildConfig = true } buildTypes { release { isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) signingConfig = signingConfigs.getByName("release") } debug { isMinifyEnabled = false applicationIdSuffix = ".debug" versionNameSuffix = "-debug" } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } packaging { jniLibs { useLegacyPackaging = true } resources { excludes += listOf("/META-INF/{AL2.0,LGPL2.1}", "META-INF/INDEX.LIST") } } lint { abortOnError = false checkReleaseBuilds = false } } dependencies { implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.aar","*.jar")))) implementation("androidx.core:core-ktx:1.13.1") implementation("androidx.appcompat:appcompat:1.7.0") implementation("androidx.webkit:webkit:1.11.0") implementation("org.bouncycastle:bcprov-jdk15to18:1.78") implementation("com.google.zxing:core:3.5.3") testImplementation("junit:junit:4.13.2") }