Amélioration du script APK et ajout du guide complet
- Script build-apk-simple.sh mis à jour avec auto-installation Java 21 + Android SDK - GUIDE_APK.md créé avec documentation complète - Instructions pour distribution aux bêta-testeurs - APK prêt: dist/compagnon-lagon-beta.apk (4,5 MB)
This commit is contained in:
161
GUIDE_APK.md
Normal file
161
GUIDE_APK.md
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
# 📱 Guide de génération de l'APK Android
|
||||||
|
|
||||||
|
Ce guide explique comment générer l'APK de **Compagnon du Lagon** pour la distribution aux bêta-testeurs.
|
||||||
|
|
||||||
|
## 🚀 Méthode rapide (Recommandée)
|
||||||
|
|
||||||
|
### 1. Lancer le script automatisé
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd "/home/syoul/Ccompagnon Marama"
|
||||||
|
./scripts/build-apk-simple.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Le script va :
|
||||||
|
- ✅ Installer automatiquement SDKMAN si nécessaire
|
||||||
|
- ✅ Installer Java 21 (requis par Capacitor)
|
||||||
|
- ✅ Installer Android SDK (cmdline-tools)
|
||||||
|
- ✅ Build Next.js en mode export statique
|
||||||
|
- ✅ Configurer Capacitor
|
||||||
|
- ✅ Générer l'APK Android
|
||||||
|
|
||||||
|
**⏱️ Durée :** ~15-20 minutes la première fois (téléchargement SDK), puis 2-3 minutes pour les builds suivants.
|
||||||
|
|
||||||
|
### 2. Récupérer l'APK
|
||||||
|
|
||||||
|
L'APK sera disponible dans :
|
||||||
|
```
|
||||||
|
dist/compagnon-lagon-beta.apk
|
||||||
|
```
|
||||||
|
|
||||||
|
**📊 Taille :** ~4,5 MB
|
||||||
|
|
||||||
|
## 📤 Distribution aux bêta-testeurs
|
||||||
|
|
||||||
|
### Option 1 : Envoi direct du fichier
|
||||||
|
|
||||||
|
1. **Envoyer par email/messagerie**
|
||||||
|
- Envoyez le fichier `dist/compagnon-lagon-beta.apk`
|
||||||
|
- Via Email, WhatsApp, Telegram, etc.
|
||||||
|
|
||||||
|
2. **Instructions pour les testeurs**
|
||||||
|
```
|
||||||
|
1. Télécharger le fichier APK
|
||||||
|
2. Ouvrir les Paramètres Android
|
||||||
|
3. Sécurité > Activer "Sources inconnues"
|
||||||
|
4. Ouvrir le fichier APK téléchargé
|
||||||
|
5. Appuyer sur "Installer"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Option 2 : Hébergement web temporaire
|
||||||
|
|
||||||
|
1. **Via transfert.sh** (gratuit, temporaire)
|
||||||
|
```bash
|
||||||
|
curl --upload-file dist/compagnon-lagon-beta.apk https://transfer.sh/compagnon.apk
|
||||||
|
```
|
||||||
|
Vous recevrez un lien à partager (valide 14 jours).
|
||||||
|
|
||||||
|
2. **Via Google Drive/Dropbox**
|
||||||
|
- Upload `dist/compagnon-lagon-beta.apk`
|
||||||
|
- Partager le lien public
|
||||||
|
- Les testeurs téléchargent et installent
|
||||||
|
|
||||||
|
### Option 3 : Serveur local (testeurs sur même réseau)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd dist
|
||||||
|
python3 -m http.server 8080
|
||||||
|
```
|
||||||
|
|
||||||
|
Les testeurs peuvent télécharger à l'adresse :
|
||||||
|
```
|
||||||
|
http://[VOTRE_IP]:8080/compagnon-lagon-beta.apk
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔄 Mettre à jour l'APK
|
||||||
|
|
||||||
|
Pour générer une nouvelle version après des modifications :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Modifier le code
|
||||||
|
# 2. Relancer le build
|
||||||
|
./scripts/build-apk-simple.sh
|
||||||
|
|
||||||
|
# 3. L'APK sera mis à jour dans dist/
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🛠️ Configuration requise (Installation automatique)
|
||||||
|
|
||||||
|
Le script installe automatiquement :
|
||||||
|
- ✅ **SDKMAN** : Gestionnaire de SDK Java
|
||||||
|
- ✅ **Java 21** : Requis par Capacitor
|
||||||
|
- ✅ **Android SDK** : Platform-tools, Build-tools 34.0.0
|
||||||
|
- ✅ **Node.js packages** : Capacitor, dépendances
|
||||||
|
|
||||||
|
**Note :** Pas besoin de sudo, tout s'installe dans `~/.sdkman` et `~/Android/Sdk`.
|
||||||
|
|
||||||
|
## 📝 Notes importantes
|
||||||
|
|
||||||
|
### Données statiques
|
||||||
|
L'APK contient toutes les données en **statique** (JSON dans `public/data/`).
|
||||||
|
Pour mettre à jour les données :
|
||||||
|
1. Modifier les fichiers JSON
|
||||||
|
2. Rebuild l'APK
|
||||||
|
3. Redistribuer la nouvelle version
|
||||||
|
|
||||||
|
### Signature APK (Debug vs Release)
|
||||||
|
|
||||||
|
**APK Debug** (actuel) :
|
||||||
|
- ✅ Parfait pour les bêta-tests
|
||||||
|
- ✅ Signature automatique
|
||||||
|
- ❌ Ne peut pas être publié sur Play Store
|
||||||
|
|
||||||
|
**APK Release** (pour production) :
|
||||||
|
```bash
|
||||||
|
# Générer un keystore
|
||||||
|
keytool -genkey -v -keystore compagnon-release.keystore \
|
||||||
|
-alias compagnon -keyalg RSA -keysize 2048 -validity 10000
|
||||||
|
|
||||||
|
# Builder en mode release
|
||||||
|
cd android
|
||||||
|
./gradlew assembleRelease
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🐛 Dépannage
|
||||||
|
|
||||||
|
### Erreur "Java not found"
|
||||||
|
```bash
|
||||||
|
source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
|
sdk use java 21.0.1-tem
|
||||||
|
```
|
||||||
|
|
||||||
|
### Erreur "ANDROID_HOME not set"
|
||||||
|
```bash
|
||||||
|
export ANDROID_HOME="$HOME/Android/Sdk"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Erreur "Gradle daemon stopped"
|
||||||
|
```bash
|
||||||
|
cd android
|
||||||
|
./gradlew --stop
|
||||||
|
./gradlew clean assembleDebug
|
||||||
|
```
|
||||||
|
|
||||||
|
### APK vide / sans contenu
|
||||||
|
- Vérifier que `out/` contient les fichiers HTML
|
||||||
|
- Vérifier `public/data/*.json` sont présents
|
||||||
|
- Rebuild avec `npm run build` avant Capacitor
|
||||||
|
|
||||||
|
## 📞 Support
|
||||||
|
|
||||||
|
En cas de problème, vérifier :
|
||||||
|
1. Les logs du script : `./scripts/build-apk-simple.sh`
|
||||||
|
2. Les logs Gradle : `android/build/reports/`
|
||||||
|
3. Le contenu de `out/` après build Next.js
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Version** : 1.0.0 - Novembre 2025
|
||||||
|
**App ID** : `com.pensionmarama.app`
|
||||||
|
**Nom** : Compagnon du Lagon - Pension Marama
|
||||||
|
|
||||||
@ -44,11 +44,45 @@ echo ""
|
|||||||
|
|
||||||
# Étape 2: Installer les dépendances si nécessaire
|
# Étape 2: Installer les dépendances si nécessaire
|
||||||
echo -e "${BLUE}📦 Étape 2/6: Vérification des dépendances${NC}"
|
echo -e "${BLUE}📦 Étape 2/6: Vérification des dépendances${NC}"
|
||||||
|
|
||||||
|
# Vérifier SDKMAN
|
||||||
|
if [ ! -f "$HOME/.sdkman/bin/sdkman-init.sh" ]; then
|
||||||
|
echo "SDKMAN non trouvé. Installation..."
|
||||||
|
curl -s "https://get.sdkman.io" | bash
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Initialiser SDKMAN
|
||||||
|
source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
|
|
||||||
|
# Vérifier Java 21
|
||||||
|
if ! sdk current java 2>&1 | grep -q "21.0"; then
|
||||||
|
echo "Installation de Java 21 (requis par Capacitor)..."
|
||||||
|
sdk install java 21.0.1-tem
|
||||||
|
sdk use java 21.0.1-tem
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Vérifier Android SDK
|
||||||
|
if [ ! -d "$HOME/Android/Sdk" ]; then
|
||||||
|
echo "Installation d'Android SDK..."
|
||||||
|
mkdir -p "$HOME/Android/Sdk/cmdline-tools"
|
||||||
|
cd "$HOME/Android/Sdk/cmdline-tools"
|
||||||
|
wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
|
||||||
|
unzip -q commandlinetools-linux-9477386_latest.zip
|
||||||
|
mv cmdline-tools latest
|
||||||
|
rm commandlinetools-linux-9477386_latest.zip
|
||||||
|
cd -
|
||||||
|
|
||||||
|
export ANDROID_HOME="$HOME/Android/Sdk"
|
||||||
|
export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH"
|
||||||
|
yes | sdkmanager --licenses || true
|
||||||
|
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -d "node_modules" ]; then
|
if [ ! -d "node_modules" ]; then
|
||||||
echo "Installation des dépendances..."
|
echo "Installation des dépendances Node.js..."
|
||||||
npm install --include=dev
|
npm install --include=dev
|
||||||
else
|
else
|
||||||
echo "Dépendances déjà installées"
|
echo "Dépendances Node.js déjà installées"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Installer Capacitor si nécessaire
|
# Installer Capacitor si nécessaire
|
||||||
@ -124,6 +158,11 @@ echo ""
|
|||||||
# Étape 6: Build l'APK
|
# Étape 6: Build l'APK
|
||||||
echo -e "${BLUE}📦 Étape 6/6: Génération de l'APK${NC}"
|
echo -e "${BLUE}📦 Étape 6/6: Génération de l'APK${NC}"
|
||||||
|
|
||||||
|
# Initialiser SDKMAN et configurer Java
|
||||||
|
source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
|
sdk use java 21.0.1-tem
|
||||||
|
export ANDROID_HOME="$HOME/Android/Sdk"
|
||||||
|
|
||||||
cd android
|
cd android
|
||||||
|
|
||||||
# Vérifier que gradlew existe et est exécutable
|
# Vérifier que gradlew existe et est exécutable
|
||||||
@ -136,7 +175,7 @@ chmod +x ./gradlew
|
|||||||
|
|
||||||
# Build l'APK
|
# Build l'APK
|
||||||
echo "Construction de l'APK debug..."
|
echo "Construction de l'APK debug..."
|
||||||
./gradlew assembleDebug
|
./gradlew clean assembleDebug
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user