| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 | import org.jetbrains.kotlin.cli.jvm.mainplugins {    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")    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<String>())                jniLibs.srcDirs("src/main/libs")            }        }    }    tasks.register<Exec>("buildNative") {        workingDir = file("src/main/jni")        commandLine(android.ndkDirectory.absolutePath + "/ndk-build", "-j", Runtime.getRuntime().availableProcessors().toString())    }    tasks.register<Exec>("cleanNative") {        workingDir = file("src/main/jni")        commandLine(android.ndkDirectory.absolutePath + "/ndk-build", "clean")    }//    tasks.withType<JavaCompile> {//        dependsOn("buildNative")//        options.compilerArgs.addAll(listOf("-Xlint:unchecked", "-Xlint:deprecation"))//    }    tasks.getByName("clean").dependsOn("cleanNative")}
 |