⚠️ Підтримка 16 KB Page Sizes в Android апках — що для цього потрібно?
Не встигли ми оновити наші застосунки до Target SDK 35, як потрібно тепер робити ще й підтримку 16 KB Page Sizes. Це потрібно зробити до 1 листопада 2025, інакше не можна буде публікувати нові апки і оновлювати існуючі в Google Play.
💡 Якщо коротко, то девайси з розміром сторінки 16 КБ забезпечують покращення продуктивності, включаючи швидший запуск додатків, зменшене споживання енергії, швидший запуск камери та швидший час завантаження системи.
Але таких девайсів ще не існує. 😁
🤔 То як же зробити цю підтримку?
Якщо у вас застосунок, який має в собі тільки Kotlin та Java код, скоріше за все вам нічого не потрібно робити.
Єдине, варто перевірити чи у вас немає системних викликів по типу Os.sysconf(OsConstants._SC_PAGESIZE) або mmap().
Якщо у вас застосунок має в собі нативний C/C++, тоді тут вже веселіше.
1. Спочатку вам потрібно оновити ваш Android Gradle Plugin до 8.5.1 версії та вище.
2. Потім вам потрібно дізнатися яка версія вашого NDK:
— Якщо вона r28 і вище, то вважайте що ваш NDK підтримує 16 KB.
— Якщо r27 або нижче, то треба внести зміни в деякі файли.
Лінки для конкретних версій NDK:
r27
r26 and lower
r22 and lower
3. Після того, як ви правильно зробили конфігурацію NDK, треба впевнитись що ваші пошерені бібліотеки не зжаті (uncompressed shared libraries).
Більше можна почитати ось тут.
4. Ще рекомендують перевірити в кодовій базі, чи немає захардкоджених констант для розміру сторінки. Як я писав раніше, це щось типу викликів Os.sysconf(OsConstants._SC_PAGESIZE) або mmap().
5. Після цього потрібно спробувати зібрати додаток і добре перевірити на емуляторі який підтримує 16 KB, або на фізичному девайсі, який має увімкнутий в Developer options тогл — Boot with 16KB page size.
Цей тогл доступний тільки на нових Пікселях.
🍻 Тепер можна вважати що ваш застосунок підтримує 16 KB page sizes!
🔗 Посилання на повну документацію та відео — в Телеграм каналі IT & Android
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів