Skip to main content
Kodelyth ECC
Command

/gradle-build

Fix Gradle build errors for Android and KMP projects

Run:/gradle-build

Gradle Build Fix

Incrementally fix Gradle build and compilation errors for Android and Kotlin Multiplatform projects.

Step 1: Detect Build Configuration

Identify the project type and run the appropriate build:

| Indicator | Build Command | |-----------|---------------| | build.gradle.kts + composeApp/ (KMP) | ./gradlew composeApp:compileKotlinMetadata 2>&1 | | build.gradle.kts + app/ (Android) | ./gradlew app:compileDebugKotlin 2>&1 | | settings.gradle.kts with modules | ./gradlew assemble 2>&1 | | Detekt configured | ./gradlew detekt 2>&1 |

Also check gradle.properties and local.properties for configuration.

Step 2: Parse and Group Errors

  • Run the build command and capture output
  • Separate Kotlin compilation errors from Gradle configuration errors
  • Group by module and file path
  • Sort: configuration errors first, then compilation errors by dependency order

Step 3: Fix Loop

For each error:

  • Read the file — Full context around the error line
  • Diagnose — Common categories:
- Missing import or unresolved reference - Type mismatch or incompatible types - Missing dependency in build.gradle.kts - Expect/actual mismatch (KMP) - Compose compiler error
  • Fix minimally — Smallest change that resolves the error
  • Re-run build — Verify fix and check for new errors
  • Continue — Move to next error

Step 4: Guardrails

Stop and ask the user if:

  • Fix introduces more errors than it resolves
  • Same error persists after 3 attempts
  • Error requires adding new dependencies or changing module structure
  • Gradle sync itself fails (configuration-phase error)
  • Error is in generated code (Room, SQLDelight, KSP)

Step 5: Summary

Report:

  • Errors fixed (module, file, description)
  • Errors remaining
  • New errors introduced (should be zero)
  • Suggested next steps

Common Gradle/KMP Fixes

| Error | Fix | |-------|-----| | Unresolved reference in commonMain | Check if the dependency is in commonMain.dependencies {} | | Expect declaration without actual | Add actual implementation in each platform source set | | Compose compiler version mismatch | Align Kotlin and Compose compiler versions in libs.versions.toml | | Duplicate class | Check for conflicting dependencies with ./gradlew dependencies | | KSP error | Run ./gradlew kspCommonMainKotlinMetadata to regenerate | | Configuration cache issue | Check for non-serializable task inputs |