Перенесите приложения на Android 17.

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

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

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

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

  • Обеспечение совместимости приложения (к финальной версии Android 17)
  • Внедрение новых функций платформы и API (как можно скорее после финального релиза) будет направлено на их реализацию.

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

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

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

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

Скачать Android 17

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

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

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

Тест

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

Обновлять

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

Публиковать

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

Проверьте совместимость вашего приложения с Android 17.

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

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

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

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

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

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

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

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

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

Скачать Android 17 SDK

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

Проанализируйте изменения в поведении.

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

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

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

Внедрить функции Android 17

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

Тест

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

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

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

Публиковать

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

Получите SDK, измените целевую платформу, создавайте приложения с использованием новых API.

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

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

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

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

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

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

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

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

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

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