#!/bin/bash # 販売アシスト 1 号 APK ビルドスクリプト set -e MODE=${1:-release} echo "=== 販売アシスト 1 号 APK ビルドスクリプト ===" echo "ビルドモード:$MODE" PROJECT_DIR="/home/user/dev/h-1.flutter.4" APK_NAME="sales_assist_1.apk" cd "$PROJECT_DIR" # flutter analyze で静的分析(警告のみ表示) if [[ "$MODE" == "release" ]]; then echo "[実装] flutter analyze... 2>&1 | grep -E '(error|warning)' || true" flutter analyze 2>&1 | grep -E '(error|warning)' || true fi # APK ビルド echo "[実装] flutter build apk..." flutter build apk --release 2>&1 | tail -5 || true if [[ "$MODE" == "release" ]]; then mv -f build/app/outputs/flutter-apk/app-release.apk "$APK_NAME" || true else cp build/app/outputs/flutter-apk/app-debug.apk "$APK_NAME" || true fi echo "[情報] バイナリ:$APK_NAME" # 有効期限計算(簡易) TIMESTAMP=$(date +%s) if [[ $TIMESTAMP -lt 1735689600 ]]; then TIMESTAMP=1735689600 fi EXPIRY_SECONDS=$((TIMESTAMP + 90*24*60*60)) echo "[情報] BUILD_TIMESTAMP: $TIMESTAMP" date -d "@$TIMESTAMP" +%Y-%m-%d\ %H:%M:%S || echo "タイムゾーンエラー、日付はローカル時間を使用します" echo "" echo "=== ビルド完了 ===" ls -la "$APK_NAME" 2>/dev/null && echo "[情報] APK サイズ: $(stat -c%s "$APK_NAME") バイト" || echo "[警告] APK ファイルが見つかりません。手動で build/app/outputs/flutter-apk/app-release.apk を確認してください"