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

95 lines
2.3 KiB
Markdown

# 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:
```bash
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:
```properties
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:
```properties
storeFile=../shaarit-release.keystore
storePassword=votre_mot_de_passe
keyAlias=shaarit
keyPassword=votre_mot_de_passe_cle
```
## Build Release
### Debug build (pour tester):
```bash
./gradlew assembleDebug
```
L'APK sera dans: `app/build/outputs/apk/debug/app-debug.apk`
### Release build (pour production):
```bash
./gradlew assembleRelease
```
L'APK sera dans: `app/build/outputs/apk/release/app-release.apk`
### Bundle AAB (pour Google Play Store):
```bash
./gradlew bundleRelease
```
Le bundle sera dans: `app/build/outputs/bundle/release/app-release.aab`
## Vérification du build
Vérifiez l'APK signé:
```bash
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
```