plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.jetbrains.kotlin.android)
    id("com.google.gms.google-services")
    id("com.google.firebase.crashlytics")
    id("com.google.firebase.firebase-perf")

}
android {
    namespace = "com.aiosman.ravenow"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.aiosman.ravenow"
        minSdk = 24
        targetSdk = 34
        versionCode = 1000019
        versionName = "1.0.000.19"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary = true
        }
        addManifestPlaceholders(
            mapOf(
                "JPUSH_PKGNAME " to applicationId!!,
                "JPUSH_APPKEY" to "cbd968cae60346065e03f9d7",
                "JPUSH_CHANNEL" to "developer-default",
            )

        )
    }

    buildTypes {
        debug {
            isDebuggable = true
        }
        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"
    }
    buildFeatures {
        compose = true
        buildConfig = true
    }
    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.3"
    }
    packaging {
        resources {
            excludes += "/META-INF/{AL2.0,LGPL2.1}"
        }
    }

}

dependencies {

    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.android)
    implementation(libs.androidx.navigation.compose)
    implementation(libs.androidx.paging.compose)
    implementation(libs.androidx.paging.runtime)
    implementation(libs.maps.compose)
    implementation(libs.accompanist.systemuicontroller)
    implementation(libs.androidx.media3.exoplayer) // 核心播放器
    implementation(libs.androidx.media3.ui)      // UI组件（可选）
    implementation(libs.androidx.media3.session)
    implementation(libs.androidx.activity.ktx)
    implementation(libs.androidx.lifecycle.common.jvm)
    implementation(libs.googleid)
    implementation(libs.identity.credential)
    implementation(libs.androidx.lifecycle.process)
    implementation(libs.rendering)
    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)
    implementation(libs.androidx.animation)
    implementation(libs.coil.compose)
    implementation(libs.coil)
    implementation(libs.play.services.auth)
    implementation(libs.kotlin.faker)
    implementation(libs.androidx.material)
    implementation(libs.zoomable)
    implementation(libs.retrofit)
    implementation(libs.converter.gson)
    implementation(libs.androidx.credentials)
    implementation(libs.androidx.credentials.play.services.auth)
    implementation(libs.jwtdecode)

    implementation(platform(libs.firebase.bom))
    implementation(libs.firebase.crashlytics)
    implementation(libs.firebase.analytics)
    implementation(libs.firebase.perf)

    implementation(libs.firebase.messaging.ktx)

    implementation (libs.jpush.google)
    implementation (libs.im.sdk)
    implementation (libs.im.core.sdk)
    implementation (libs.gson)
    implementation(libs.imagecropview)
    implementation(libs.androidx.core.splashscreen) // 添加 SplashScreen 依赖
    // 添加 lifecycle-runtime-ktx 依赖
    implementation(libs.androidx.lifecycle.runtime.ktx.v262)
    implementation (libs.eventbus)


}

