Включите параметр обратной совместимости 16 КБ

Переключатель 16 КБ позволяет запускать устройство с ядром размером 16 КБ. Параметр "Обратная совместимость с размером страницы 16 КБ" доступен, когда на устройстве используется ядро с размером страницы 16 КБ. Менеджер пакетов запускает приложение в режиме обратной совместимости 16 КБ, если в приложении есть ELF-файлы (с расширением .so) с выравниванием сегмента LOAD 4 КБ или если в заархивированном APK есть несжатые ELF-файлы, выровненные по границе 4 КБ. Если менеджер пакетов включил для приложения режим обратной совместимости с размером страниц 16 КБ, при первом запуске приложения появится предупреждение о том, что оно работает в этом режиме.

Предупреждение в режиме совместимости с размером страницы

Рисунок 1. Предупреждение в режиме совместимости с размером страницы.

Режим обратной совместимости позволяет запускать некоторые приложения, но для лучшей надежности и стабильности их все равно нужно оптимизировать для поддержки страниц памяти размером 16 КБ.

Чтобы включить обратную совместимость с размером страницы 16 КБ, выполните следующие действия:

  1. Следуйте инструкциям в разделе Как включить переключатель "Размер страницы 16 кБ".

  2. Включить режим обратной совместимости с размером страницы 16 КБ можно одним из следующих способов:

    • При необходимости Android запускает приложения в режиме обратной совместимости. Обратная совместимость состоит из двух частей, которые можно включить независимо друг от друга: свойство bionic.linker.16kb.app_compat.enabled управляет загрузкой библиотек, а свойство pm.16kb.app_compat.disabled – установкой APK.

    • Чтобы принудительно включить обратную совместимость со страницами памяти размером 16 КБ для всех приложений на устройстве:

      adb shell setprop bionic.linker.16kb.app_compat.enabled true
      adb shell setprop pm.16kb.app_compat.disabled false
      
    • Чтобы принудительно отключить обратную совместимость 16 КБ для всех приложений на устройстве, выполните следующую команду:

      adb shell setprop bionic.linker.16kb.app_compat.enabled false
      adb shell setprop pm.16kb.app_compat.disabled true
      
    • Чтобы включить или отключить режим совместимости для определенного приложения в его манифесте AndroidManifest.xml, задайте для свойства android:pageSizeCompat значение enabled или disabled. Если задано это свойство, при запуске приложения не будут показываться предупреждения о режиме совместимости.

    • На странице с информацией о приложении в разделе Расширенные настройки включите или отключите параметр Запускать приложение в режиме совместимости с размером страницы. Этот параметр виден только на устройствах, где установлен размер страницы 16 КБ.

      Настройка режима совместимости с размером страницы

      Рисунок 2. Настройка режима совместимости с размером страницы.