Correction build APK Android

- Fix: Configuration Docker pour éviter l'écrasement de node_modules
- Fix: Script build-apk.sh installe correctement les dépendances dev
- Fix: Adaptation du code pour export statique (Suspense, useSearchParams)
- Fix: Correction type Accordion
This commit is contained in:
2025-11-23 09:33:33 +01:00
parent 0169f0d5cb
commit 51a74342f4
11 changed files with 991 additions and 65 deletions

View File

@ -10,47 +10,62 @@ if ! command -v docker &> /dev/null; then
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."
# Vérifier que docker compose est disponible
if ! docker compose version &> /dev/null; then
echo "❌ docker compose n'est pas disponible. 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
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 &&
docker compose -f docker-compose.build.yml run --rm android-builder bash -c "
set -e
cd /app
echo '⚙️ Sauvegarde de la configuration Next.js...' &&
cp next.config.js next.config.js.backup &&
echo '📦 Installation des dépendances Node.js...'
npm install --include=dev
echo '⚙️ Configuration Next.js pour export statique...' &&
echo '📦 Vérification des dépendances critiques...'
if ! npm list tailwindcss >/dev/null 2>&1; then
echo '⚠️ tailwindcss non trouvé, réinstallation...'
npm install tailwindcss postcss autoprefixer --save-dev
fi
echo '📦 Installation des dépendances Capacitor...'
npm install @capacitor/core @capacitor/cli @capacitor/android
echo '🧹 Nettoyage du cache Next.js...'
rm -rf .next
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 &&
fi
echo '🏗️ Build de production Next.js...' &&
npm run build &&
echo '🏗️ Build de production Next.js...'
npm run build || npm run build -- --no-lint
echo '⚙️ Restauration de la configuration Next.js...' &&
mv next.config.js.backup next.config.js &&
echo '⚙️ Restauration de la configuration Next.js...'
mv next.config.js.backup next.config.js
echo '⚙️ Initialisation Capacitor (si nécessaire)...' &&
echo '⚙️ Initialisation Capacitor (si nécessaire)...'
if [ ! -f capacitor.config.ts ]; then
npx cap init 'Compagnon Admin' com.pensionmarama.admin --web-dir=out
fi &&
fi
echo '📱 Ajout de la plateforme Android...' &&
npx cap add android || true &&
echo '📱 Ajout de la plateforme Android...'
npx cap add android || true
echo '🔄 Synchronisation Capacitor...' &&
npx cap sync android &&
echo '🔄 Synchronisation Capacitor...'
npx cap sync android
echo '✅ Build terminé !'
"
@ -63,5 +78,5 @@ 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"
echo " docker compose -f docker-compose.build.yml run --rm android-builder /bin/bash"