В этом документе представлен общий обзор типичных этапов разработки и тестирования, который поможет вам составить план готовности, хорошо согласующийся с графиком выпуска платформы и обеспечивающий отличное взаимодействие с пользователями на Android 13.
С каждым новым релизом Android мы внедряем новые функции, а также вносим изменения в поведение, направленные на то, чтобы сделать Android более удобным, безопасным и производительным. Во многих случаях ваше приложение будет работать точно так, как ожидается, сразу после установки, в то время как в других случаях вам может потребоваться обновить приложение, чтобы адаптироваться к изменениям платформы.
Пользователи смогут начать получать доступ к новой платформе сразу после публикации исходного кода в AOSP (Android Open Source Project), поэтому важно, чтобы ваши приложения были готовы, работали должным образом и, в идеале, использовали новые функции и API, чтобы максимально эффективно использовать возможности новой платформы.
Типичная миграция состоит из двух этапов, которые могут происходить одновременно:
- Обеспечение совместимости приложения (к финальной версии Android 13)
- Внедрение новых функций платформы и API (как можно скорее после финального релиза) будет направлено на их реализацию.
Обеспечьте совместимость с Android 13.
Важно протестировать функциональность существующего приложения на Android 13, чтобы обеспечить удобство использования для пользователей, обновляющих приложение до последней версии. Некоторые изменения платформы могут повлиять на работу приложения, поэтому важно провести тестирование на ранней стадии и тщательно, а также внести необходимые корректировки.
Обычно вы можете внести изменения в приложение и опубликовать обновление, не меняя параметр targetSdkVersion . Аналогично, вам не потребуется использовать новые API или менять compileSdkVersion , хотя это может зависеть от способа сборки вашего приложения и используемой им функциональности платформы.
Перед началом тестирования обязательно ознакомьтесь с изменениями в поведении всех приложений . Эти изменения могут повлиять на ваше приложение, даже если вы не измените его targetSdkVersion .
Установите на устройство образ системы Android 13 или загрузите образ системы для эмулятора Android.
Проанализируйте изменения в поведении системы, чтобы выявить области, которые могут быть затронуты вашим приложением.
Установите приложение на своё устройство или эмулятор и запустите тесты. Сосредоточьтесь на изменениях в поведении системы и проработайте все сценарии работы приложения.
Вносите только необходимые изменения в код для адаптации к изменениям в поведении или устранения проблем. Перекомпилируйте приложение с тем же уровнем API, на который оно изначально было ориентировано — нет необходимости ориентироваться на Android 13.
Подпишите, загрузите и опубликуйте обновленный пакет Android-приложений (App Bundle) или 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 Studio для сборки под Android 13. Убедитесь, что у вас есть устройство или эмулятор Android 13.
Обновите параметр targetSdkVersion и другие параметры сборки.
Проанализируйте изменения в поведении приложений, ориентированных на Android 13. Определите области, которые могут быть затронуты вашим приложением, и спланируйте меры поддержки для них.
Внесите необходимые изменения в код и архитектуру для поддержки изменений в политике конфиденциальности пользователей Android 13.
Воспользуйтесь преимуществами API Android 13, чтобы добавить новые функции и возможности в ваши приложения. Перекомпилируйте под Android 13.
Протестируйте приложение на устройстве или эмуляторе Android 13. Сосредоточьтесь на областях, где изменения в поведении могут повлиять на его работу. Опробуйте функциональность, использующую новые API. Предоставьте отзывы о платформе и API. Сообщите о любых проблемах с платформой, API или сторонними SDK.
После того, как API Android 13 будут окончательно утверждены, обновите targetSdkVersion и другие параметры сборки, внесите необходимые дополнительные изменения и протестируйте приложение.
Подпишите, загрузите и опубликуйте обновленный пакет Android-приложений (App Bundle) или APK-файл.
Получите SDK, измените целевую платформу, создавайте приложения с использованием новых API.
Для начала тестирования полной поддержки Android 13 используйте последнюю предварительную версию Android Studio, чтобы загрузить SDK Android 13 и любые другие необходимые инструменты. Затем обновите targetSdkVersion и compileSdkVersion вашего приложения и перекомпилируйте приложение. Подробности см. в руководстве по настройке SDK .
Протестируйте свое приложение для Android 13.
После компиляции приложения и его установки на устройство под управлением Android 13, начните тестирование, чтобы убедиться в корректной работе приложения на платформе Android 13. Некоторые изменения в поведении применяются только при использовании новой платформы, поэтому перед началом работы рекомендуется ознакомиться с этими изменениями .
Как и при базовом тестировании совместимости, пройдитесь по всем сценариям и функциям, выявляя проблемы. Сосредоточьте тестирование на изменениях в поведении приложений, ориентированных на Android 13. Это также подходящее время для проверки вашего приложения на соответствие основным рекомендациям по качеству приложений и передовым методам тестирования .
Обязательно проверьте и протестируйте использование ограниченных интерфейсов, не относящихся к SDK , которые могут применяться. Следите за предупреждениями в logcat, которые указывают на такие обращения, и используйте метод StrictMode detectNonSdkApiUsage() для их программного обнаружения.
Наконец, обязательно тщательно протестируйте библиотеки и SDK в вашем приложении, чтобы убедиться, что они работают должным образом на Android 13 и соответствуют лучшим практикам в области конфиденциальности, производительности, пользовательского интерфейса, обработки данных и разрешений. Если вы обнаружите проблему, попробуйте обновить SDK до последней версии или обратитесь за помощью к разработчику SDK.
Проверка с использованием переключателей совместимости приложений.
В Android 13 появились переключатели совместимости, которые упрощают тестирование приложения с помощью целенаправленных изменений поведения. Для отлаживаемого приложения эти переключатели позволяют:
- Протестируйте целевые изменения, не меняя при этом targetSdkVersion приложения . Вы можете использовать переключатели для принудительного включения определенных целевых изменений поведения, чтобы оценить их влияние на существующее приложение.
- Сосредоточьте тестирование только на конкретных изменениях . Вместо того чтобы проверять все целевые изменения одновременно, переключатели позволяют отключить все целевые изменения, кроме тех, которые вы хотите проверить.
- Управляйте переключателями через adb . Вы можете использовать команды adb для включения и выключения переключаемых изменений в вашей среде автоматизированного тестирования.
- Отладка происходит быстрее благодаря стандартным идентификаторам изменений . Каждое из изменений, которое можно переключать, имеет уникальный идентификатор и имя, которые можно использовать для быстрой отладки первопричины в логах.
При подготовке к изменению целевой платформы вашего приложения или во время активной разработки с поддержкой Android 13 эти переключатели могут оказаться полезными. Для получения дополнительной информации см. раздел «Изменения в структуре совместимости (Android 13)» .