# Build Instructions for SilverDROID ## Quick Start (Windows) ### From WSL/Linux: ```bash cd /mnt/c/Production/Source/SilverLABS/SilverDROID # Build debug APK ./gradlew assembleDebug # Install on connected device ./gradlew installDebug ``` ### From Windows PowerShell: ```powershell cd C:\Production\Source\SilverLABS\SilverDROID # Build debug APK .\gradlew.bat assembleDebug # Install on connected device .\gradlew.bat installDebug ``` ## Android Studio Setup 1. **Open Project** - Launch Android Studio - File → Open → Navigate to `SilverDROID` folder - Wait for Gradle sync to complete 2. **Connect Device or Emulator** - Physical Device: Enable USB debugging in Developer Options - Emulator: Create an AVD with Android 8.0+ (API 26+) 3. **Run the App** - Click the green ▶️ (Run) button - Select your device/emulator - Wait for build and install ## Build Variants ### Debug Build (Development) ```bash ./gradlew assembleDebug # Output: app/build/outputs/apk/debug/app-debug.apk ``` Features: - WebView debugging enabled - No code obfuscation - Faster build times - Debug logging ### Release Build (Production) ```bash ./gradlew assembleRelease # Output: app/build/outputs/apk/release/app-release.apk ``` Features: - Code obfuscation (ProGuard) - Optimized APK size - Production-ready ## Gradle Tasks ```bash # Clean build files ./gradlew clean # Build both debug and release ./gradlew assemble # Run unit tests ./gradlew test # Generate test coverage report ./gradlew jacocoTestReport # Lint check ./gradlew lint # List all tasks ./gradlew tasks ``` ## Android Bundle (AAB) For Google Play Store submission: ```bash ./gradlew bundleRelease # Output: app/build/outputs/bundle/release/app-release.aab ``` ## Troubleshooting ### Gradle Sync Failed 1. Check internet connection 2. Update Android Studio 3. Invalidate caches: File → Invalidate Caches / Restart ### Build Failed 1. Clean project: `./gradlew clean` 2. Check JDK version (must be JDK 17) 3. Update Android SDK via SDK Manager ### Device Not Detected 1. Enable USB debugging on device 2. Install device drivers (Windows) 3. Check `adb devices` command 4. Try different USB cable/port ### Out of Memory Increase Gradle memory in `gradle.properties`: ```properties org.gradle.jvmargs=-Xmx4096m ``` ## Requirements Checklist - ✅ Android Studio Ladybug (2024.2.1+) - ✅ JDK 17 or later - ✅ Android SDK 35 (via SDK Manager) - ✅ Build Tools 34.0.0+ - ✅ Kotlin 2.1.0+ - ✅ Gradle 8.7+ ## First Build The first build will take longer as Gradle downloads dependencies: - Jetpack Compose libraries (~150MB) - Material Design 3 components - Room database libraries - Kotlin coroutines - WebView libraries Subsequent builds are much faster due to caching. ## CI/CD with TeamCity This project can integrate with your TeamCity instance: **TeamCity URL:** https://cis1.silverlabs.uk **Access Token:** (See ~/.claude/CLAUDE.md) Build configuration: ```kotlin project { buildType { name = "SilverDROID" vcs { root(GitLabVcs) } steps { gradle { tasks = "clean assembleRelease" gradleWrapperPath = "" } } } } ``` --- Need help? Check the main README.md or open an issue on GitLab.