Sharrit/RELEASE_BUILD.md
2026-01-11 19:47:49 -05:00

2.3 KiB

ShaarIt - Instructions de Build Release

Prérequis

  • Android Studio ou Gradle CLI
  • Java JDK 8+ installé

Création du Keystore (à faire une seule fois)

Via ligne de commande:

keytool -genkey -v -keystore shaarit-release.keystore -alias shaarit -keyalg RSA -keysize 2048 -validity 10000

Informations à fournir:

  • Mot de passe keystore: (notez-le précieusement!)
  • Nom et prénom: Votre nom
  • Unité organisationnelle: (ex: Development)
  • Organisation: Votre entreprise
  • Ville: Votre ville
  • Province/État: Votre province
  • Code pays: CA (pour Canada)

Configuration de la signature

Option 1: Variables d'environnement (recommandé)

Créez un fichier local.properties (ne pas commiter!) avec:

SHAARIT_KEYSTORE_PATH=../shaarit-release.keystore
SHAARIT_KEYSTORE_PASSWORD=votre_mot_de_passe
SHAARIT_KEY_ALIAS=shaarit
SHAARIT_KEY_PASSWORD=votre_mot_de_passe_cle

Option 2: Fichier séparé

Créez keystore.properties (ne pas commiter!) avec:

storeFile=../shaarit-release.keystore
storePassword=votre_mot_de_passe
keyAlias=shaarit
keyPassword=votre_mot_de_passe_cle

Build Release

Debug build (pour tester):

./gradlew assembleDebug

L'APK sera dans: app/build/outputs/apk/debug/app-debug.apk

Release build (pour production):

./gradlew assembleRelease

L'APK sera dans: app/build/outputs/apk/release/app-release.apk

Bundle AAB (pour Google Play Store):

./gradlew bundleRelease

Le bundle sera dans: app/build/outputs/bundle/release/app-release.aab

Vérification du build

Vérifiez l'APK signé:

jarsigner -verify -verbose -certs app/build/outputs/apk/release/app-release.apk

Checklist avant publication

  • Version code incrémenté dans build.gradle.kts
  • Version name mise à jour
  • Tests passés
  • ProGuard configuré et testé
  • APK signé et vérifié
  • Captures d'écran prêtes pour le store
  • Description de l'app rédigée
  • Icône et assets graphiques finalisés

Notes de sécurité

⚠️ IMPORTANT: Ne jamais commiter ces fichiers:

  • *.keystore
  • *.jks
  • keystore.properties
  • local.properties (sauf template)

Ajoutez au .gitignore:

*.keystore
*.jks
keystore.properties