plugins { alias(libs.plugins.androidApplication) alias(libs.plugins.kotlinAndroid) alias(libs.plugins.composeCompiler) alias(libs.plugins.hilt) alias(libs.plugins.ksp) } android { namespace = "dev.anilbeesetti.nextplayer" compileSdk = libs.versions.android.compileSdk.get().toInt() defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() applicationId = "dev.anilbeesetti.nextplayer" versionCode = 20 versionName = "0.12.3" } buildFeatures { compose = true buildConfig = true } compileOptions { sourceCompatibility = JavaVersion.toVersion(libs.versions.android.jvm.get().toInt()) targetCompatibility = JavaVersion.toVersion(libs.versions.android.jvm.get().toInt()) } kotlinOptions { jvmTarget = libs.versions.android.jvm.get() } buildTypes { getByName("release") { isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", ) } getByName("debug") { isDebuggable = true applicationIdSuffix = ".debug" } } signingConfigs { getByName("debug") { storeFile = file("${project.rootDir}/app/debug.keystore") storePassword = "android" keyAlias = "androiddebugkey" keyPassword = "android" } } splits { abi { isEnable = true reset() include("armeabi-v7a", "arm64-v8a", "x86", "x86_64") isUniversalApk = true } } packaging { resources { excludes.add("/META-INF/{AL2.0,LGPL2.1}") } } dependenciesInfo { // Disables dependency metadata when building APKs. includeInApk = false // Disables dependency metadata when building Android App Bundles. includeInBundle = false } } dependencies { implementation(project(":core:common")) implementation(project(":core:data")) implementation(project(":core:media")) implementation(project(":core:model")) implementation(project(":core:ui")) implementation(project(":feature:videopicker")) implementation(project(":feature:player")) implementation(project(":feature:settings")) implementation(libs.androidx.core.ktx) implementation(libs.androidx.activity.compose) implementation(libs.androidx.appcompat) // Compose implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.compose.material3) implementation(libs.androidx.navigation.compose) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.runtimeCompose) implementation(libs.google.android.material) implementation(libs.androidx.core.splashscreen) // Hilt implementation(libs.hilt.android) ksp(libs.hilt.compiler) kspAndroidTest(libs.hilt.compiler) implementation(libs.androidx.hilt.navigation.compose) implementation(libs.accompanist.permissions) implementation(libs.timber) testImplementation(libs.junit4) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.test.ext) androidTestImplementation(libs.androidx.test.espresso.core) androidTestImplementation(libs.androidx.compose.ui.test) debugImplementation(libs.androidx.compose.ui.tooling) debugImplementation(libs.androidx.compose.ui.testManifest) }