If you are a Flutter developer or Android app publisher, you may have seen this frustrating error on Google Play Store:
“Your device is not compatible with this version.”
This issue can prevent users from installing your Flutter app on certain devices. In this complete guide, you will learn why this happens and how to fix it step-by-step in Flutter.
What Does “Your Device Is Not Compatible” Mean?
This error means that Google Play Store has determined that the user’s device does not meet one or more requirements of your app, such as:
- Android version (SDK)
- CPU architecture (ABI)
- Screen size / features
- Hardware features (camera, GPS, etc.)
- App Bundle / APK configuration
- 64-bit or 32-bit support
- Play Store filtering rules
Common Causes in Flutter Apps
Here are the most common reasons this error appears in Flutter:
- ❌ Minimum SDK version too high
- ❌ Unsupported CPU architecture (ARM, x86, etc.)
- ❌ Missing 32-bit support
- ❌ Hardware features incorrectly required
- ❌ App Bundle split issues
- ❌ Incorrect manifest configuration
- ❌ Targeting only specific screen sizes
- ❌ Google Play filtering by device features
Solution 1: Check and Lower Min SDK Version
Open:
android/app/build.gradle
Find:
defaultConfig {
minSdkVersion 21
targetSdkVersion 34
}
Fix:
Lower minSdkVersion if possible:
minSdkVersion 19
⚠️ Only lower if your app features support older Android versions.
Solution 2: Enable All CPU Architectures (ABI)
Some devices use different CPU types:
- armeabi-v7a (32-bit)
- arm64-v8a (64-bit)
- x86
- x86_64
If your app supports only one, other devices become incompatible.
Fix:
In android/app/build.gradle:
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
Or remove ABI filters completely to support all.
Solution 3: Support 32-bit Devices
Google requires 64-bit, but many devices still use 32-bit apps.
Make sure Flutter builds both:
flutter build appbundle
Flutter automatically includes 32-bit + 64-bit if not restricted.
Solution 4: Check AndroidManifest.xml for Required Features
Open:
android/app/src/main/AndroidManifest.xml
Look for:
<uses-feature android:name="android.hardware.camera" android:required="true" />
Fix:
Change required to false:
<uses-feature android:name="android.hardware.camera" android:required="false" />
Do this for:
- Camera
- GPS
- Bluetooth
- NFC
- Fingerprint
- Telephony
This prevents Play Store from filtering devices.
Solution 5: Check uses-sdk in Manifest
Make sure you are not overriding SDK here:
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="34"/>
Better to control SDK only from build.gradle.
Solution 6: App Bundle Split Issues
If you use App Bundle, Play Store may create splits that exclude devices.
Test locally:
bundletool build-apks --bundle=app.aab --output=app.apks
Then test on different devices.
Solution 7: Check Screen Size & Density Filters
Avoid restricting screens:
❌ Bad:
<supports-screens
android:smallScreens="false"
android:normalScreens="true" />
Fix:
Remove screen restrictions or allow all:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true" />
Solution 8: Check Play Console Device Catalog
In Google Play Console:
- Go to Reach & Devices
- Open Device Catalog
- Check excluded devices
- See exact reasons (ABI, SDK, features)
This is the BEST way to debug.
Solution 9: Debug with Play Store Internal Testing
Use:
- Internal Testing
- Closed Testing
Then try installing on:
- Old phones
- Low-end phones
- Different Android versions
Recommended Flutter Settings (Best Practice)
In android/app/build.gradle:
defaultConfig {
applicationId "com.example.app"
minSdkVersion 21
targetSdkVersion 34
multiDexEnabled true
}
And avoid ABI filters unless necessary.
Common Real-World Reasons
| Reason | Result |
|---|---|
| minSdkVersion too high | Old phones blocked |
| Only arm64 | 32-bit devices blocked |
| Required camera | Tablets without camera blocked |
| NFC required | Most phones blocked |
| x86 missing | Emulators blocked |
Final Checklist
✅ Min SDK supports most devices
✅ No unnecessary hardware required
✅ All ABIs supported
✅ No screen restrictions
✅ Check Play Console exclusions
✅ Test on real devices
Conclusion
The “Your device is not compatible with this version” error in Flutter is almost always caused by SDK, ABI, or hardware feature filters.
By following this guide, you can make your Flutter app compatible with maximum Android devices, increase installs, and avoid user complaints.
