Google Play: pagine di memoria da 16 KB
Le librerie native devono essere allineate a pagine da 16 KB; gli aggiornamenti che non lo sono non si possono pubblicare dal 1° febbraio 2027.
Che cosa richiede Google Play?
Ogni app che ha come target Android 15 o superiore e contiene codice nativo deve supportare i dispositivi con pagine di memoria da 16 KB. Google lo ha stabilito per le nuove app e gli aggiornamenti dal 1° novembre 2025, e la sua pagina per sviluppatori ora dice che dal 1° febbraio 2027 un aggiornamento senza supporto ai 16 KB non si può pubblicare. Le app scritte solo in Java o Kotlin sono compatibili di default. Un'app Flutter non è mai solo questo: il motore e il codice Dart compilato sono librerie native.
Da dove arriva in un'app Flutter
Il motore Flutter non è la causa: libflutter.so è compilata con un allineamento che soddisfa i 16 KB da Flutter 3.16. La libreria non allineata arriva quasi sempre con un plugin o un SDK che distribuisce file .so precompilati, oppure da un Android Gradle plugin o un NDK vecchi nel progetto. Un caso confermato: shared_preferences_android 2.4.20 includeva AndroidX DataStore 1.2.0, la cui libreria nativa non superava il controllo, e la 2.4.21 ha annullato la modifica. I progetti creati con versioni di Flutter più vecchie tengono inoltre l'Android Gradle plugin con cui sono stati generati, e prima della versione 8.5.1 non impacchetta le librerie allineate a 16 KB.
Come risolverlo
- Eseguite il controllo gratuito della build sull'.apk o l'.aab. Indica ogni libreria nativa non allineata a 16 KB.
- Trovate quale plugin distribuisce quella libreria (./gradlew app:dependencies, o la cartella android del plugin) e aggiornatelo. Se non esiste una versione corretta, sostituite il plugin.
- Verificate che
android/settings.gradle(.kts) usi l'Android Gradle plugin 8.5.1 o più recente. - Se il progetto compila codice C o C++ proprio, usate l'NDK r28 o più recente. Flutter 3.38 lo rende predefinito; nelle versioni precedenti impostate
ndkVersioninandroid/app/build.gradle(.kts). - Eseguite
flutter clean, compilate di nuovo e controllate l'APK conzipalign -c -P 16 -v 4.
Il controllo gratuito della build legge il vostro .apk o .aab nel browser e indica se questo riguarda la vostra build, senza caricare nulla.
Oppure fate verificare l'intera build: la verifica degli store costa 190 €, 2 giorni lavorativi.