Перенос приложений на Android 14

В этом документе представлен общий обзор типичных этапов разработки и тестирования, который поможет вам составить план готовности, хорошо согласованный с графиком выпуска платформы и обеспечивающий пользователям Android 14 отличный опыт работы.

С каждым релизом Android мы добавляем новые функции и вносим изменения в поведение, чтобы сделать Android более полезным, безопасным и производительным. Во многих случаях ваше приложение будет работать так, как и ожидалось, сразу после установки, но в других случаях вам может потребоваться обновить его, чтобы адаптировать к изменениям платформы.

Пользователи смогут начать получать доступ к новой платформе, как только исходный код будет опубликован в AOSP (Android Open Source Project), поэтому важно, чтобы ваши приложения были готовы, работали так, как ожидают пользователи, и в идеале использовали новые функции и API, чтобы максимально эффективно использовать новую платформу.

Типичная миграция состоит из двух фаз, которые могут протекать одновременно:

  • Обеспечение совместимости приложений (к финальному релизу Android 14)
  • Нацеливание на новые функции платформы и API (как можно скорее после финального релиза)

Обеспечить совместимость с Android 14

Важно протестировать функциональность вашего существующего приложения на Android 14, чтобы обеспечить пользователям, обновляющимся до последней версии Android, комфортный опыт работы. Некоторые изменения платформы могут повлиять на поведение вашего приложения, поэтому важно провести тщательное тестирование заранее и внести необходимые изменения.

Обычно вы можете настроить приложение и опубликовать обновление, не изменяя его targetSdkVersion . Аналогично, вам не нужно использовать новые API или изменять compileSdkVersion приложения, хотя это может зависеть от способа разработки вашего приложения и используемых им функций платформы.

Прежде чем начать тестирование, обязательно ознакомьтесь с изменениями поведения всех приложений . Эти изменения могут повлиять на ваше приложение, даже если вы не измените его targetSdkVersion .

Получить Android 14

Установите образ системы Android 14 на свое устройство или загрузите образ системы для эмулятора Android.

Просмотреть изменения

Проверьте изменения в поведении системы, чтобы определить области, где это может повлиять на ваше приложение.

Тест

Установите приложение на устройство или эмулятор и проведите тестирование. Обратите внимание на изменения в поведении системы и проработайте все этапы работы приложения.

Обновлять

Вносите только те изменения в код, которые необходимы для адаптации к изменениям поведения или решения проблем. Перекомпилируйте с тем же уровнем API, на который изначально ориентировалось ваше приложение — нет необходимости ориентироваться на Android 14.

Публиковать

Подпишите, загрузите и опубликуйте обновленный Android App Bundle или APK.

Проведите тестирование совместимости

В целом, тестирование совместимости с Android 14 похоже на обычное тестирование приложений. Сейчас самое время ознакомиться с основными рекомендациями по качеству приложений и передовыми практиками тестирования .

Для тестирования установите ваше текущее опубликованное приложение на устройство под управлением Android 14 и проанализируйте все процессы и функции, выявляя проблемы. Чтобы лучше сфокусировать тестирование, ознакомьтесь с изменениями поведения всех приложений, представленными в Android 14, которые могут повлиять на работу вашего приложения или привести к его сбоям.

Также обязательно проверьте и протестируйте использование ограниченных интерфейсов, не относящихся к SDK . Замените все ограниченные интерфейсы, используемые вашим приложением, на публичные эквиваленты SDK или NDK. Следите за предупреждениями LogCat, которые указывают на такие попытки доступа, и используйте метод StrictMode detectNonSdkApiUsage() для их программного обнаружения.

Наконец, обязательно полностью протестируйте библиотеки и SDK в вашем приложении, чтобы убедиться, что они корректно работают на Android 14, и следуйте рекомендациям по обеспечению конфиденциальности, производительности, пользовательского опыта, обработки данных и разрешений. Если вы обнаружите проблему, попробуйте обновить SDK до последней версии или обратитесь за помощью к разработчику SDK.

После завершения тестирования и внесения всех необходимых изменений мы рекомендуем сразу же опубликовать совместимое приложение. Это позволит вашим пользователям протестировать приложение заранее и обеспечит плавный переход на Android 14.

Обновите таргетинг приложения и используйте новые API.

После публикации совместимой версии вашего приложения следующим шагом будет добавление полной поддержки Android 14 путем обновления targetSdkVersion и использования новых API и возможностей Android 14. Вы можете внести эти обновления, как только будете готовы, учитывая требования Google Play для ориентации на новую платформу.

Планируя полную поддержку Android 14, ознакомьтесь с изменениями поведения, которые влияют на приложения, предназначенные для Android 14. Эти изменения поведения могут привести к функциональным проблемам, которые вам потребуется устранить. В некоторых случаях эти изменения требуют серьёзной разработки, поэтому мы рекомендуем изучить их и устранить как можно раньше. Чтобы определить конкретные изменения поведения, влияющие на ваше приложение, используйте переключатели совместимости для тестирования приложения с выбранными изменениями.

Следующие шаги описывают, как обеспечить полную поддержку Android 14.

Получить Android 14 SDK

Установите последнюю версию Android Studio Preview, чтобы выполнять сборку на базе Android 14. Убедитесь, что у вас есть устройство или эмулятор Android 14.
Обновите targetSdkVersion и другие конфигурации сборки.

Обзор изменений в поведении

Ознакомьтесь с изменениями в поведении, которые применяются к приложениям для Android 14. Определите области, в которых ваше приложение может быть затронуто, и спланируйте меры по их поддержке.

Проверьте наличие новых изменений в политике конфиденциальности

Внесите необходимые изменения в код и архитектуру для поддержки изменений в конфиденциальности пользователей Android 14.

Используйте функции Android 14

Воспользуйтесь API Android 14, чтобы добавить новые функции и возможности в свои приложения. Перекомпилируйте для Android 14.

Тест

Тестирование на устройстве Android 14 или эмуляторе. Обратите внимание на области, где изменения поведения могут повлиять на ваше приложение. Опробуйте функции, использующие новые API. Оставьте отзыв о платформе и API. Сообщите о любых проблемах с платформой, API или сторонними SDK.

Финальное обновление

Как только API Android 14 станут окончательными, снова обновите targetSdkVersion и другие конфигурации сборки, внесите любые дополнительные обновления и протестируйте свое приложение.

Публиковать

Подпишите, загрузите и опубликуйте обновленный Android App Bundle или APK.

Получите SDK, измените таргетинг, используйте новые API

Чтобы начать тестирование полной поддержки Android 14, используйте последнюю предварительную версию Android Studio, чтобы загрузить Android 14 SDK и другие необходимые инструменты. Затем обновите targetSdkVersion и compileSdkVersion вашего приложения и перекомпилируйте его. Подробности см. в руководстве по настройке SDK .

Протестируйте свое приложение для Android 14

После компиляции приложения и установки его на устройство под управлением Android 14 начните тестирование, чтобы убедиться в корректной работе приложения на Android 14. Некоторые изменения в поведении применяются только тогда, когда ваше приложение предназначено для новой платформы, поэтому перед началом работы вам следует ознакомиться с этими изменениями .

Как и при базовом тестировании совместимости, проанализируйте все процессы и функции в поисках проблем. Сосредоточьте внимание на изменениях в поведении приложений, ориентированных на Android 14. Также сейчас самое время проверить ваше приложение на соответствие основным рекомендациям по качеству приложений и лучшим практикам тестирования .

Обязательно проверьте и протестируйте использование ограниченных интерфейсов, не относящихся к SDK . Следите за предупреждениями LogCat, которые указывают на такие попытки доступа, и используйте метод StrictMode detectNonSdkApiUsage() для их программного обнаружения.

Наконец, обязательно полностью протестируйте библиотеки и SDK в вашем приложении, чтобы убедиться, что они корректно работают на Android 14, и следуйте рекомендациям по обеспечению конфиденциальности, производительности, пользовательского опыта, обработки данных и разрешений. Если вы обнаружите проблему, попробуйте обновить SDK до последней версии или обратитесь за помощью к разработчику SDK.

Тестирование с использованием переключателей совместимости приложений

В Android 14 предусмотрены переключатели совместимости, которые упрощают тестирование приложений с целевыми изменениями поведения. Для отлаживаемого приложения эти переключатели позволяют:

  • Тестируйте целевые изменения, не изменяя targetSdkVersion приложения . Вы можете использовать переключатели для принудительного включения определённых целевых изменений поведения, чтобы оценить их влияние на ваше текущее приложение.
  • Сосредоточьте тестирование только на конкретных изменениях . Вместо того, чтобы обрабатывать все целевые изменения сразу, переключатели позволяют отключить все целевые изменения, кроме тех, которые вы хотите протестировать.
  • Управление переключателями через adb . Вы можете использовать команды adb для включения и отключения переключаемых изменений в автоматизированной тестовой среде.
  • Ускоряйте отладку, используя стандартные идентификаторы изменений . Каждое из переключаемых изменений имеет уникальный идентификатор и имя, которые можно использовать для быстрого поиска первопричины в журнале.

Переключатели могут быть полезны при подготовке к изменению целевого назначения приложения или во время активной разработки для поддержки Android 14. Подробнее см. в разделе Изменения в структуре совместимости (Android 14) .