Common Errors

SymptomLikely causeFix path
RenderFlex overflow stripesRow/Column child exceeds constraintsUse flexible layout, scrolling, or responsive breakpoints
MissingPluginExceptionPlugin not registered, unsupported platform, hot reload after native changeFull restart, verify platform support, add fallback
iOS CocoaPods failureNative plugin dependency or pod repo issueRe-run iOS dependency setup on macOS, inspect plugin docs
Android Gradle failurePlugin, SDK, namespace, min/target mismatchCheck plugin Android setup and Gradle config
Web build fails after package addPackage uses dart:io, native code, or unsupported APIsChoose web-supported package or disable feature on web
State resets unexpectedlyState stored in widget that gets recreatedMove state to parent, key correctly, or use view model/app state
Test passes but app fails on devicePlugin/native path not covered by widget testsAdd integration/manual target smoke
Release build behaves differentlyDebug-only assumptions, assertions, permissions, tree shakingTest profile/release modes and release artifact
Store upload rejectedSigning, package identity, screenshots, privacy, permission policyUse target store checklist and fix metadata/policy

Fast Diagnosis

flutter doctor -v
flutter analyze
flutter test
flutter devices
flutter run -d <target>

Record the target, Flutter version, package change, and build mode before changing code.