Ajout de l'environnement de build Docker pour générer l'APK Android
- Dockerfile.android avec Android SDK et Capacitor - docker-compose.build.yml pour le build - Scripts automatisés build-apk.sh et generate-apk.sh - Configuration Capacitor pour Android - Documentation BUILD_APK.md
This commit is contained in:
67
scripts/build-apk.sh
Executable file
67
scripts/build-apk.sh
Executable file
@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "🚀 Démarrage du build APK..."
|
||||
|
||||
# Vérifier que Docker est installé
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "❌ Docker n'est pas installé. Veuillez l'installer d'abord."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Vérifier que docker-compose est installé
|
||||
if ! command -v docker-compose &> /dev/null; then
|
||||
echo "❌ docker-compose n'est pas installé. Veuillez l'installer d'abord."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Construire l'image Docker
|
||||
echo "📦 Construction de l'image Docker..."
|
||||
docker-compose -f docker-compose.build.yml build
|
||||
|
||||
# Démarrer le conteneur et exécuter les commandes de build
|
||||
echo "🔨 Build de l'application Next.js..."
|
||||
docker-compose -f docker-compose.build.yml run --rm android-builder sh -c "
|
||||
echo '📦 Installation des dépendances Capacitor...' &&
|
||||
npm install @capacitor/core @capacitor/cli @capacitor/android &&
|
||||
|
||||
echo '⚙️ Sauvegarde de la configuration Next.js...' &&
|
||||
cp next.config.js next.config.js.backup &&
|
||||
|
||||
echo '⚙️ Configuration Next.js pour export statique...' &&
|
||||
if grep -q '\"output\": \"standalone\"' next.config.js; then
|
||||
sed -i 's/\"output\": \"standalone\"/\"output\": \"export\"/' next.config.js
|
||||
echo '✅ Configuration modifiée pour export statique'
|
||||
fi &&
|
||||
|
||||
echo '🏗️ Build de production Next.js...' &&
|
||||
npm run build &&
|
||||
|
||||
echo '⚙️ Restauration de la configuration Next.js...' &&
|
||||
mv next.config.js.backup next.config.js &&
|
||||
|
||||
echo '⚙️ Initialisation Capacitor (si nécessaire)...' &&
|
||||
if [ ! -f capacitor.config.ts ]; then
|
||||
npx cap init 'Compagnon Admin' com.pensionmarama.admin --web-dir=out
|
||||
fi &&
|
||||
|
||||
echo '📱 Ajout de la plateforme Android...' &&
|
||||
npx cap add android || true &&
|
||||
|
||||
echo '🔄 Synchronisation Capacitor...' &&
|
||||
npx cap sync android &&
|
||||
|
||||
echo '✅ Build terminé !'
|
||||
"
|
||||
|
||||
echo "📱 Ouverture du projet Android dans le conteneur..."
|
||||
echo "Pour générer l'APK, exécutez dans le conteneur :"
|
||||
echo " cd android && ./gradlew assembleDebug"
|
||||
echo ""
|
||||
echo "Ou utilisez Android Studio :"
|
||||
echo " npx cap open android"
|
||||
echo ""
|
||||
echo "Pour entrer dans le conteneur :"
|
||||
echo " docker-compose -f docker-compose.build.yml run --rm android-builder /bin/bash"
|
||||
|
||||
Reference in New Issue
Block a user