This commit is contained in:
mac
2026-02-23 13:03:59 -05:00
parent df1188fc02
commit f76b684d49
8 changed files with 613 additions and 96 deletions

View File

@@ -1,4 +1,5 @@
import java.util.Properties
import java.util.Date
plugins {
alias(libs.plugins.android.application)
@@ -17,13 +18,16 @@ android {
applicationId = "com.example.scanwich"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
// Incrémentation automatique du versionCode basé sur le temps
versionCode = (System.currentTimeMillis() / 60000).toInt()
versionName = "1.0." + (System.currentTimeMillis() / 3600000).toString().takeLast(3)
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
// Chargement des propriétés depuis local.properties
val keystoreProperties = Properties()
val keystorePropertiesFile = rootProject.file("local.properties")
if (keystorePropertiesFile.exists()) {
@@ -45,11 +49,12 @@ android {
}
}
buildTypes {
val keyFile = project.file("firebase-key.json")
val keyFile = project.file("firebase-key.json")
val releaseNotesFile = rootProject.file("release-notes.txt")
buildTypes {
release {
isMinifyEnabled = false
isMinifyEnabled = true // Activer l'offuscation
signingConfig = signingConfigs.getByName("release")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
@@ -61,18 +66,24 @@ android {
if (keyFile.exists()) {
serviceCredentialsFile = keyFile.absolutePath
}
if (releaseNotesFile.exists()) {
releaseNotes = releaseNotesFile.readText()
}
groups = "internal-user"
}
}
debug {
isMinifyEnabled = false
configure<com.google.firebase.appdistribution.gradle.AppDistributionExtension> {
artifactType = "APK"
if (keyFile.exists()) {
serviceCredentialsFile = keyFile.absolutePath
}
if (releaseNotesFile.exists()) {
releaseNotes = releaseNotesFile.readText()
}
groups = "internal-user"
releaseNotes = "Version de développement"
}
}
}
@@ -100,24 +111,33 @@ dependencies {
implementation(libs.androidx.compose.ui.tooling.preview)
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.material.icons.extended)
// SDK Firebase App Distribution COMPLET (API + Implémentation)
implementation(libs.firebase.appdistribution)
implementation(libs.google.generativeai)
implementation(libs.coil.compose)
implementation(libs.androidx.exifinterface)
implementation(libs.androidx.navigation.compose)
implementation(libs.androidx.room.runtime)
implementation(libs.androidx.room.ktx)
ksp(libs.androidx.room.compiler)
implementation(libs.retrofit.core)
implementation(libs.retrofit.gson)
implementation(libs.okhttp.logging)
implementation(libs.androidx.browser)
implementation(libs.play.services.auth)
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.analytics)
implementation(libs.firebase.functions)
implementation(libs.firebase.auth)
implementation(libs.firebase.appcheck.playintegrity)
// PDF generation
implementation(libs.itext7.core)
// Security
implementation(libs.androidx.security.crypto)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
@@ -126,4 +146,5 @@ dependencies {
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
debugImplementation(libs.androidx.compose.ui.tooling)
debugImplementation(libs.androidx.compose.ui.test.manifest)
debugImplementation(libs.firebase.appcheck.debug)
}