plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) id("com.google.gms.google-services") id("com.google.firebase.crashlytics") kotlin("plugin.serialization") version "2.1.20" } android { namespace = "com.cherret.zaprett" compileSdk = 35 defaultConfig { applicationId = "com.cherret.zaprett" minSdk = 30 targetSdk = 35 versionCode = 14 versionName = "2.2" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" ndk { abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64") } } externalNativeBuild { cmake { path = file("src/main/cpp/CMakeLists.txt") version = "3.22.1" } } buildTypes { release { isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } buildFeatures { compose = true buildConfig = true } } tasks.register("runNdkBuild") { group = "build" val ndkDir = android.ndkDirectory executable = if (System.getProperty("os.name").startsWith("Windows", ignoreCase = true)) { "$ndkDir\\ndk-build.cmd" } else { "$ndkDir/ndk-build" } setArgs(listOf( "NDK_PROJECT_PATH=build/intermediates/ndkBuild", "NDK_LIBS_OUT=src/main/jniLibs", "APP_BUILD_SCRIPT=src/main/jni/Android.mk", "NDK_APPLICATION_MK=src/main/jni/Application.mk" )) println("Command: $commandLine") } tasks.preBuild { dependsOn("runNdkBuild") } dependencies { implementation("androidx.compose.material3:material3:1.3.1") implementation("androidx.compose.material3:material3-window-size-class:1.3.1") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha10") implementation("androidx.navigation:navigation-compose:2.8.9") implementation("androidx.compose.material:material-icons-extended:1.7.8") implementation ("com.github.topjohnwu.libsu:core:6.0.0") implementation("com.squareup.okhttp3:okhttp:5.0.0-alpha.14") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0") implementation(platform("com.google.firebase:firebase-bom:33.12.0")) implementation("com.google.firebase:firebase-analytics") implementation("com.google.firebase:firebase-crashlytics") implementation("androidx.fragment:fragment-compose:1.8.8") implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.ui) implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.ui.test.junit4) debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.test.manifest) }