plugins { alias(libs.plugins.android.library) alias(libs.plugins.jetbrains.kotlin.android) alias(libs.plugins.kotlinAndroidKsp) alias(libs.plugins.androidHilt) alias(libs.plugins.kotlinParcelize) alias(libs.plugins.composeCompiler) } android { namespace = "net.newpipe.newplayer" compileSdk = 34 buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.1" } defaultConfig { aarMetadata { minCompileSdk = 21 } testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } buildTypes { release { 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" } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.material) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.material3) implementation(libs.androidx.ui.tooling) implementation(libs.androidx.material.icons.extended.android) implementation(libs.androidx.media3.exoplayer) implementation(libs.androidx.media3.ui) implementation(libs.hilt.android) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.foundation) implementation(libs.androidx.fragment.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.ui) implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.hilt.navigation.compose) ksp(libs.hilt.android.compiler) ksp(libs.androidx.hilt.compiler) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) }