Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

128 lines
3.7 KiB
Kotlin

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)
}