plugins { id("com.android.application") id("org.jetbrains.kotlin.android") } android { namespace = "com.inou.clawdnode" compileSdk = 34 defaultConfig { applicationId = "com.inou.clawdnode" minSdk = 29 // Android 10+ for CallScreeningService targetSdk = 34 versionCode = 1 versionName = "0.1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } buildFeatures { viewBinding = true } } dependencies { // Core Android implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.11.0") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0") implementation("androidx.lifecycle:lifecycle-service:2.7.0") // Security - encrypted storage implementation("androidx.security:security-crypto:1.1.0-alpha06") // Networking - WebSocket implementation("com.squareup.okhttp3:okhttp:4.12.0") // JSON parsing implementation("com.google.code.gson:gson:2.10.1") // Coroutines implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3") // Testing testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") }