Fszontagh 0d3959540d more improvements 8 달 전
..
README.md c94e57365a Add shell scripts for audio conversion and APK/AAB building 9 달 전
build_app.sh 0d3959540d more improvements 8 달 전
compress_audio.sh dc9574589e Performance optimizations and audio quality improvements 9 달 전
convert_audio.sh 5791d7143d Fix duration validation in convert_audio.sh 9 달 전

README.md

ZenTap Build Scripts

This directory contains shell scripts for automating common development tasks for the ZenTap project.

Scripts Overview

🎵 convert_audio.sh

Converts audio files to the proper format and specifications for the ZenTap game.

📱 build_app.sh

Builds APK and AAB files for Android in debug and release modes.


Audio Conversion Script

Prerequisites

  • ffmpeg must be installed on your system
    • Ubuntu/Debian: sudo apt install ffmpeg
    • macOS: brew install ffmpeg
    • Windows: Download from ffmpeg.org

Usage

./scripts/convert_audio.sh

How it works

  1. Looks for source audio files in assets/audio/source/
  2. Converts them according to specifications in assets/audio/README.md:
    • Sound Effects: WAV format, 44.1 kHz, 16-bit, mono, 0.1-0.5 seconds
    • Background Music: MP3 format, 44.1 kHz, 192 kbps, stereo, 2-5 minutes
  3. Outputs converted files to assets/audio/
  4. Validates file durations and reports status

Required Files

  • bubble_pop.wav - Primary bubble pop sound effect
  • bubble_pop_alt.wav - Alternative bubble pop sound effect
  • ambient_background.mp3 - Main gameplay background music
  • zen_mode_background.mp3 - Zen mode background music

Supported Source Formats

WAV, MP3, OGG, FLAC, M4A


Build Script

Prerequisites

  • Flutter SDK must be installed and configured
  • Android SDK and build tools must be set up
  • Run flutter doctor to ensure all dependencies are satisfied

Usage

Build all variants (default)

./scripts/build_app.sh

Build specific variants

# Debug only
./scripts/build_app.sh --debug

# Release only
./scripts/build_app.sh --release

# APK files only
./scripts/build_app.sh --apk-only

# AAB files only
./scripts/build_app.sh --aab-only

# Clean build before building
./scripts/build_app.sh --clean --all

Get help

./scripts/build_app.sh --help

Build Variants

Variant Description Use Case
Debug APK Development build with debugging symbols Testing on devices, debugging
Release APK Optimized build for production Side-loading, testing stores
Debug AAB Development Android App Bundle Play Console internal testing
Release AAB Production Android App Bundle Google Play Store release

Output Location

Built files are saved in build/outputs/ with timestamps:

  • APK files: build/outputs/apk/
  • AAB files: build/outputs/bundle/

File Naming Convention

  • ZenTap_debug_YYYYMMDD_HHMMSS.apk
  • ZenTap_release_YYYYMMDD_HHMMSS.aab

Installation Instructions

Installing APK files

# Install via ADB
adb install build/outputs/apk/ZenTap_release_*.apk

# Or transfer to device and install manually

Uploading AAB files

  1. Upload the AAB file to Google Play Console
  2. Use for app releases on Google Play Store

Troubleshooting

Audio Conversion Issues

  • ffmpeg not found: Install ffmpeg using your system's package manager
  • Missing source files: Place original audio files in assets/audio/source/
  • Duration warnings: Check if your audio files meet the length requirements

Build Issues

  • Flutter not found: Ensure Flutter is installed and added to PATH
  • Android toolchain issues: Run flutter doctor and follow the suggestions
  • Build failures: Run flutter clean and try building again

Common Commands

# Check Flutter installation
flutter doctor

# Clean Flutter project
flutter clean && flutter pub get

# Run app in debug mode
flutter run

# Check connected devices
flutter devices

Color Scheme Reference

Both scripts follow the fSociety.hu color scheme defined in ../SCHEME_COLORS.md:

  • Black (#000000) - Primary background
  • White (#FFFFFF) - Primary text
  • Red (#FF0000) - Error messages
  • Gray (#808080) - Secondary elements
  • Navy Blue (#000080) - Information messages

Contributing

When modifying these scripts:

  1. Test thoroughly on different platforms
  2. Update this README if adding new features
  3. Follow the existing code style and error handling patterns
  4. Ensure cross-platform compatibility (Linux, macOS, Windows with WSL)