import java.util.Properties plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.ksp) alias(libs.plugins.hilt) } android { namespace = "com.vaultdrop.mobile" compileSdk = 35 defaultConfig { applicationId = "com.vaultdrop.mobile" minSdk = 26 // targetSdk 35 exige des .so alignés en 16K ; les libs précompilées // OpenCV/CameraX sont en 4K (warning de compatibilité sur devices // 16K-pages). On reste en 34 tant qu'elles ne sont pas mises à jour. targetSdk = 34 versionCode = 1 versionName = "0.1.0" // OpenCV natif : on conserve uniquement les ABIs ciblés // (arm64 = devices, x86_64 = émulateur) pour garder l'APK raisonnable. ndk { abiFilters += listOf("arm64-v8a", "x86_64") } } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } buildFeatures { compose = true buildConfig = true } testOptions { unitTests { isIncludeAndroidResources = true } } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.activity.compose) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.graphics) implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.material.icons.extended) implementation(libs.androidx.navigation.compose) implementation(libs.androidx.room.runtime) implementation(libs.androidx.room.ktx) ksp(libs.androidx.room.compiler) implementation(libs.hilt.android) ksp(libs.hilt.compiler) implementation(libs.androidx.hilt.navigation.compose) implementation(libs.androidx.hilt.work) ksp(libs.androidx.hilt.compiler) implementation(libs.androidx.work.runtime.ktx) implementation(libs.androidx.camera.camera2) implementation(libs.androidx.camera.lifecycle) implementation(libs.androidx.camera.view) implementation(libs.opencv) implementation(libs.retrofit) implementation(libs.retrofit.converter.moshi) implementation(libs.okhttp) implementation(libs.okhttp.logging) implementation(libs.moshi) implementation(libs.moshi.kotlin) implementation(libs.androidx.security.crypto) implementation(libs.timber) implementation(libs.coil.compose) debugImplementation(libs.androidx.compose.ui.tooling) testImplementation(libs.junit) testImplementation(libs.robolectric) testImplementation(libs.androidx.test.core) testImplementation(libs.androidx.arch.core.testing) testImplementation(libs.kotlinx.coroutines.test) testImplementation(libs.androidx.room.testing) }