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

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

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

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

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

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

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

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

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

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

Получить Android 13

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

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

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

Тест

Установите приложение на свое устройство или эмулятор и запустите тесты. Сосредоточьтесь на изменениях поведения системы и проработайте все процессы приложения.

Обновлять

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

Публиковать

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

Выполнить тестирование совместимости

По большей части тестирование совместимости с Android 13 похоже на обычное тестирование приложений. Сейчас подходящее время для ознакомления с основными рекомендациями по обеспечению качества приложений и рекомендациями по тестированию .

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

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

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

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

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

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

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

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

Получить Android 13 SDK

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

Просмотрите изменения в поведении

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

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

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

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

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

Тест

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

Последнее обновление

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

Публиковать

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

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

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

Проверьте свое приложение для Android 13

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

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

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

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

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

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

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

Когда вы готовитесь к изменению таргетинга своего приложения или активно разрабатываете поддержку Android 13, переключатели могут помочь. Дополнительные сведения см. в разделе Изменения в системе совместимости (Android 13) .