45 lines
No EOL
1.5 KiB
Bash
45 lines
No EOL
1.5 KiB
Bash
#!/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 を確認してください" |