import org.jetbrains.kotlin.cli.jvm.main plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("com.google.gms.google-services") id("com.google.firebase.crashlytics") } android { namespace = "com.vpn.fastestvpnservice" compileSdk = 34 defaultConfig { applicationId = "com.vpn.fastestvpnservice" minSdk = 21 targetSdk = 34 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" ndk { abiFilters.add("arm64-v8a") abiFilters.add("armeabi-v7a") abiFilters.add("x86") abiFilters.add("x86_64") } vectorDrawables { useSupportLibrary = true } } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } debug { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.1" } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } sourceSets { getByName("main") { aidl { srcDirs("src/main/aidl") } } } buildToolsVersion = "30.0.2" ndkVersion = "19.2.5345600" } dependencies { implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar")))) implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0") implementation("androidx.activity:activity-compose:1.8.2") implementation("androidx.fragment:fragment-ktx:1.6.2") implementation("androidx.activity:activity-ktx:1.8.2") implementation(platform("androidx.compose:compose-bom:2023.08.00")) implementation("androidx.compose.ui:ui") implementation("androidx.compose.ui:ui-graphics") implementation("androidx.compose.ui:ui-tooling-preview") implementation("androidx.compose.material3:material3:1.2.0") implementation("androidx.compose.material:material:1.6.1") implementation("androidx.navigation:navigation-compose:2.7.7") implementation("androidx.compose.material:material-icons-extended:1.6.1") implementation("androidx.compose.ui:ui-text-google-fonts:1.6.1") implementation("androidx.compose.foundation:foundation:1.6.3") // Retrofit implementation("com.squareup.retrofit2:retrofit:2.9.0") implementation("com.squareup.retrofit2:converter-gson:2.9.0") implementation("com.squareup.okhttp3:logging-interceptor:4.9.0") // Coroutines implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1") implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0") implementation("androidx.compose.runtime:runtime-livedata:1.6.1") implementation("com.wireguard.android:tunnel:1.0.20210211") implementation("androidx.navigation:navigation-fragment:2.7.7") implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.11.0") implementation("com.google.accompanist:accompanist-pager-indicators:0.30.1") // Ping implementation("com.github.stealthcopter:AndroidNetworkTools:0.4.5.3") // Billing implementation("com.android.billingclient:billing:6.1.0") implementation("io.coil-kt:coil-compose:1.3.1") implementation("com.google.accompanist:accompanist-drawablepainter:0.34.0") implementation("com.google.firebase:firebase-crashlytics:18.6.2") implementation("com.google.firebase:firebase-messaging:23.4.1") implementation("com.google.firebase:firebase-analytics:21.5.1") //16.0.6 // implementation("com.firebase:firebase-jobdispatcher:0.8.5") implementation("androidx.constraintlayout:constraintlayout-compose:1.0.1") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") androidTestImplementation(platform("androidx.compose:compose-bom:2023.08.00")) androidTestImplementation("androidx.compose.ui:ui-test-junit4") debugImplementation("androidx.compose.ui:ui-tooling") debugImplementation("androidx.compose.ui:ui-test-manifest") //strongswan android{ sourceSets { getByName("main") { jni.srcDirs(emptyList()) jniLibs.srcDirs("src/main/libs") } } } tasks.register("buildNative") { workingDir = file("src/main/jni") commandLine(android.ndkDirectory.absolutePath + "/ndk-build", "-j", Runtime.getRuntime().availableProcessors().toString()) } tasks.register("cleanNative") { workingDir = file("src/main/jni") commandLine(android.ndkDirectory.absolutePath + "/ndk-build", "clean") } // tasks.withType { // dependsOn("buildNative") // options.compilerArgs.addAll(listOf("-Xlint:unchecked", "-Xlint:deprecation")) // } tasks.getByName("clean").dependsOn("cleanNative") }