Google Play: сторінки памʼяті 16 KB
Нативні бібліотеки мають бути вирівняні під сторінки 16 KB; оновлення без цього з 1 лютого 2027 випустити не вийде.
Чого вимагає Google Play?
Кожен застосунок із target Android 15 чи вище, що містить нативний код, мусить підтримувати пристрої зі сторінками памʼяті 16 KB. Google запровадив це для нових застосунків і оновлень з 1 листопада 2025, а тепер на його сторінці для розробників сказано, що з 1 лютого 2027 оновлення без підтримки 16 KB випустити не вийде. Застосунки, написані лише на Java чи Kotlin, сумісні за замовчуванням. Flutter-застосунок таким ніколи не буває: рушій і скомпільований Dart-код — це нативні бібліотеки.
Звідки це береться у Flutter-застосунку
Рушій Flutter тут ні до чого: libflutter.so збирають із вирівнюванням, якого досить для 16 KB, ще з Flutter 3.16. Невирівняна бібліотека майже завжди приходить із плагіном чи SDK, що постачає готові .so-файли, або ж винні старий Android Gradle plugin чи NDK у проєкті. Один підтверджений випадок: shared_preferences_android 2.4.20 підтягнув AndroidX DataStore 1.2.0, чия нативна бібліотека не проходила перевірку, а 2.4.21 це відкотив. До того ж проєкти, створені на старіших версіях Flutter, зберігають той Android Gradle plugin, з яким їх згенерували, а до версії 8.5.1 він не пакує бібліотеки з вирівнюванням під 16 KB.
Як виправити
- Запустіть безкоштовну перевірку білда на .apk чи .aab. Вона назве кожну нативну бібліотеку, не вирівняну під 16 KB.
- Знайдіть, який плагін постачає цю бібліотеку (./gradlew app:dependencies або тека android самого плагіна), і оновіть його. Якщо виправленої версії немає, замініть плагін.
- Переконайтеся, що
android/settings.gradle(.kts) використовує Android Gradle plugin 8.5.1 чи новіший. - Якщо проєкт компілює власний код на C чи C++, використовуйте NDK r28 чи новіший. У Flutter 3.38 він стоїть за замовчуванням; на старіших версіях задайте
ndkVersionвandroid/app/build.gradle(.kts). - Запустіть
flutter clean, зберіть знову й перевірте APK командоюzipalign -c -P 16 -v 4.
Безкоштовна перевірка білда читає ваш .apk чи .aab у браузері й показує, чи це стосується вашого білда, нічого не завантажуючи.
Або доручіть перевірити весь білд: аудит готовності до сторів — 190 €, 2 робочі дні.