Mobile Build Errors
Gradle, CocoaPods, Xcode signing, Metro bundler and toolchain mismatches.
Understanding Mobile errors
Mobile build errors are overwhelmingly toolchain and dependency version conflicts rather than code problems. Android builds fail on Gradle, JDK and Android Gradle Plugin version combinations; iOS builds fail on code signing, provisioning profiles and CocoaPods lockfile drift. The productive instinct is to check version compatibility matrices before reading stack traces.
How to debug Mobile errors
- Run the build with full output:
./gradlew assembleDebug --stacktrace --info. Gradle's default output hides the actual failing task. - Verify the JDK the build is using (
./gradlew -version), not the one on your PATH. Android Gradle Plugin has strict JDK requirements. - For CocoaPods, run
pod install, notpod update, after pulling changes, and open the.xcworkspacerather than the.xcodeproj. - For code signing, check the provisioning profile's expiry, bundle identifier and device list in Xcode's Signing & Capabilities tab before touching certificates.
- Clear caches only as a last resort and one at a time (
./gradlew clean,rm -rf ~/Library/Developer/Xcode/DerivedData,watchman watch-del-all), so you learn which one mattered.
Tools worth reaching for
./gradlew --stacktrace --infopod installxcodebuild -showBuildSettingsflutter doctor -vadb logcat
All 17 Mobile errors
- Android Studio: Gradle sync failedAndroid Studio cannot sync the project with Gradle files. Usually caused by SDK version mismatch, missing…
- Android: DEX method limit exceeded (64k)The app has more than 65,536 methods across all DEX files. Android's Dalvik bytecode format has a 64k method reference…
- Android: Duplicate class found in modules NewTwo dependencies bring in the same class, usually because one ships a bundled copy of a library that another declares…
- Android: INSTALL_FAILED_UPDATE_INCOMPATIBLE NewAn app with the same package name is already installed but signed with a different key. Android will not let one…
- Android: Manifest merger failed with multiple errors, see logs NewGradle merges your manifest with every library manifest, and two of them disagree: usually a minSdkVersion lower than…
- Android: SDK location not found. Define a valid SDK location NewGradle looks for sdk.dir in local.properties, then for the ANDROID_HOME environment variable. local.properties is…
- CocoaPods: The sandbox is not in sync with the Podfile.lockInstalled pods don't match the manifest lockfile. Common after switching git branches.
- Expo EAS: build failed (Gradle/Xcode step exited with non-zero code) NewEAS Build failed during the native compile step. The wrapper message is generic; the real cause is in the build phase…
- Flutter: Android toolchain - develop for Android devicesFlutter cannot find Android SDK or licences not accepted.
- Gradle: Execution failed for task ':app:...'Generic Android build failure. Often due to cached dependencies, JDK version mismatch, or XML layout errors.
- iOS: Code signing is requiredXcode build failed because no valid signing certificate or provisioning profile was found.
- Kotlin: Unresolved reference: XKotlin cannot resolve a symbol. The class, function, or property may not be imported, the dependency is missing, or…
- React Native: Metro Bundler errorMetro bundler failed to start or connection refused. Cache issues or port 8081 in use.
- React Native: Unable to load script. Make sure you're running Metro NewThe debug build fetches its JavaScript bundle from Metro at runtime, and the device could not reach it. On a physical…
- Swift: Cannot convert value of type X to expected argument type YA type mismatch in Swift. The value being passed does not match the expected parameter type.
- Xcode: Build input file cannot be foundXcode references a file in the build phase that no longer exists on disk. The file was deleted or moved without…
- Xcode: No profiles for 'com.example.app' were found NewXcode has no provisioning profile matching that bundle identifier, team and capability set. Either the app id was…
Other categories
- AI 35Rate limits, context windows, GPU memory and model-serving failures.
- Ansible 10Unreachable hosts, become passwords, undefined variables and Jinja2 failures.
- API 14Auth headers, payload limits, versioning, idempotency and webhook signatures.
- Apple 10Command line tools, dyld, Homebrew permissions, notarisation and Keychain.
- Auth 11OIDC, SAML, Auth0, Okta, Keycloak, passkeys and MFA failures.
- BigData 11Spark, Kafka, Airflow, Snowflake, Flink and Databricks failures.
- C# 12NuGet restore, null references, EF Core migrations, async deadlocks and Blazor…
- C++ 11Segfaults, linker errors, memory corruption and template deduction failures.
- Caching 10Cache stampedes, stale content, Varnish and CloudFront failures.
- CI/CD 18GitHub Actions, GitLab CI, Jenkins, CircleCI: permissions, runners and…
- Client 21CORS, mixed content, module resolution, memory limits and framework runtime…
- Cloud 25IAM permissions, quotas, service limits and credential failures.
- Dart 10Null safety, pub version solving and build toolchain problems.
- Database 41Connections, deadlocks, constraints, replication and memory limits.
- DNS 10NXDOMAIN, SERVFAIL, timeouts, propagation and delegation problems.
- Docker 27Daemon connectivity, disk space, image pulls, ports and architecture mismatches.
- Elixir 9GenServer timeouts, supervision failures and Mix compilation problems.
- Email 8Delivery failures, relay denial, authentication, SPF, DKIM and DMARC.
- Frontend 23Hydration mismatches, bundler resolution, layout shift and font loading.
- Git 20Merge conflicts, rejected pushes, detached HEAD, LFS and repository corruption.
- Go 19Nil map assignment, concurrent map access, context cancellation and deadlocks.
- GraphQL 13Validation, depth limits, N+1 queries and fragment problems.
- gRPC 10Status codes, deadlines, message limits, TLS and HTTP/2 transport failures.
- HTTP 494xx client errors, 5xx server errors, redirects, headers and protocol problems.
- ICMP 23Destination unreachable, time exceeded, fragmentation needed and redirects.
- Ingress 8404 default backend, missing TLS secrets, IngressClass and path matching.
- Java 19Class loading, dependency resolution, connection pools and JVM version…
- JavaScript 42npm resolution, async pitfalls, hydration, memory limits and runtime type…
- Kubernetes 34CrashLoopBackOff, ImagePullBackOff, OOMKilled, RBAC, scheduling and storage.
- Logging 9Log4j, Logback, Fluentd, Logstash and CloudWatch ingestion problems.
- MessageQueue 14Kafka, RabbitMQ, SQS, NATS and Celery: lag, rebalancing and poison messages.
- Monitoring 12Prometheus scrapes, Grafana data sources, OpenTelemetry exporters and agent…
- Network 35Refused connections, timeouts, resets, MTU problems and port exhaustion.
- Performance 6GC pauses, thread pool starvation and event loop blocking.
- PHP 11Memory limits, execution timeouts, autoloading, Composer and PDO connections.
- Proxy 17nginx, Envoy, HAProxy, Traefik, Caddy and Cloudflare upstream failures.
- Python 35Imports, virtual environments, encoding, concurrency and dependency conflicts.
- Regex 8Catastrophic backtracking, back references, escaping and engine differences.
- Ruby 11Bundler, migrations, native extensions, encoding and asset compilation.
- Rust 19Borrow checker, ownership moves, trait bounds and lifetime mismatches.
- Scala 6Dependency resolution, binary compatibility and type inference failures.
- Security 25JWT validation, CSRF, OAuth grants, SELinux, SSH host keys and CSP.
- Serverless 11Lambda timeouts, package size limits, VPC networking and cold starts.
- Shell 13Command not found, permissions, quoting, expansion and Makefile syntax.
- Storage 13S3 permissions, NFS mounts, quotas, signed URLs and volume attachment.
- Svelte 10Store subscriptions, load functions and server/client boundaries.
- System 26Disk space, systemd units, file descriptors, OOM killer and scheduled jobs.
- Terraform 18State locks, provider auth, drift, dependency cycles and plan-time unknowns.
- Testing 18Jest, pytest, JUnit, Cypress and Playwright: fixtures, snapshots and timeouts.
- TLS 24Untrusted authorities, expiry, hostname mismatch, chains and cipher negotiation.
- TypeScript 19Assignability, missing declarations, strict null checks and generic constraints.
- Virtualization 8VirtualBox, VMware, Hyper-V, WSL, KVM and hypervisor conflicts.
- Web3 7Gas estimation, nonce management and reverted transactions.
- WebAssembly 7Compile errors, memory bounds and host binding mismatches.
- WebServer 10nginx, Apache, IIS and Caddy: binding, permissions, rewrites and TLS.
- Windows 10Installer failures, missing runtimes, update errors and permission problems.