build.gradle.kts 1.31 KB
// data-extraction: SQLite、MMKV、Realm 数据提取模块
plugins {
    alias(libs.plugins.android.library)
    alias(libs.plugins.kotlin.android)
    alias(libs.plugins.kotlin.serialization)
    alias(libs.plugins.ksp)
}

android {
    namespace = "ai.lemon.phoneuse.dataextraction"
    compileSdk = 34

    defaultConfig {
        minSdk = 28
        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles("consumer-rules.pro")
    }

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = "17"
    }
}

dependencies {
    implementation(project(":core"))

    implementation(libs.androidx.core.ktx)
    implementation(libs.kotlinx.coroutines.android)
    implementation(libs.kotlinx.serialization.json)

    // MMKV for key-value store extraction
    implementation(libs.mmkv)

    // Room for structured SQLite access
    implementation(libs.room.runtime)
    implementation(libs.room.ktx)
    ksp(libs.room.compiler)

    testImplementation(libs.junit)
    // sqlite-jdbc: pure-JVM SQLite driver used in unit tests that cannot run the
    // Android SQLiteDatabase API (which requires a device/emulator).
    testImplementation("org.xerial:sqlite-jdbc:3.45.3.0")
}