Перенос приложений на 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 или APK.

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

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

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

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

Наконец, обязательно полностью протестируйте библиотеки и SDK в вашем приложении, чтобы убедиться, что они работают как положено на Android 14, и следуйте лучшим практикам в отношении конфиденциальности, производительности, UX, обработки данных и разрешений. Если вы обнаружите проблему, попробуйте обновить 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 или 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, и следуйте лучшим практикам в отношении конфиденциальности, производительности, UX, обработки данных и разрешений. Если вы обнаружите проблему, попробуйте обновить SDK до последней версии или обратитесь за помощью к разработчику SDK.

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

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

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

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