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