Debug builds run fine, but release builds fail with 'keystore was tampered with' on Android or 'no matching provisioning profile' on iOS.
Verify the keystore credentials and the provisioning profile or certificate exactly match the app's bundle identifier and are correctly referenced in the build configuration.
Step-by-Step Guide
For Android, confirm the keystore path and passwords in key.properties match the actual signing file
Check storePassword and keyPassword carefully for typos or trailing spaces
Update the keystore reference in build.gradle if the file was moved
For iOS, open Xcode's Signing & Capabilities tab and check the Team and bundle identifier
Verify the provisioning profile hasn't expired in the Apple Developer account
Use automatic signing in Xcode where possible to avoid manual profile mismatches
For Flutter, run flutter build appbundle --release and flutter build ipa --release separately and read the full output
Confirm the applicationId/bundle ID matches exactly what's registered in Play Console / App Store Connect
Found an issue with this solution?