В этом документе представлен общий обзор типичных этапов разработки и тестирования, который поможет вам составить план готовности, хорошо согласованный с графиком выпуска платформы и обеспечивающий пользователям Android 12 отличный опыт работы.
С каждым релизом Android мы добавляем новые функции и вносим изменения в поведение, чтобы сделать Android более полезным, безопасным и производительным. Во многих случаях ваше приложение будет работать так, как и ожидалось, сразу после установки, но в других случаях вам может потребоваться обновить его, чтобы адаптировать к изменениям платформы.
Пользователи смогут начать получать доступ к новой платформе, как только исходный код будет опубликован в AOSP (Android Open Source Project), поэтому важно, чтобы ваши приложения были готовы, работали так, как ожидают пользователи, и в идеале использовали новые функции и API, чтобы максимально эффективно использовать новую платформу.
Типичная миграция состоит из двух фаз, которые могут протекать одновременно:
- Обеспечение совместимости приложений (к финальному релизу Android 12)
- Нацеливание на новые функции платформы и API (как можно скорее после финального релиза)
Обеспечить совместимость с Android 12
Важно протестировать функциональность вашего существующего приложения на Android 12, чтобы обеспечить пользователям, обновляющимся до последней версии Android, комфортный опыт работы. Некоторые изменения платформы могут повлиять на работу вашего приложения, поэтому важно провести тщательное тестирование заранее и внести необходимые изменения.
Обычно вы можете настроить приложение и опубликовать обновление, не изменяя его targetSdkVersion
. Аналогично, вам не нужно использовать новые API или изменять compileSdkVersion
приложения, хотя это может зависеть от способа разработки вашего приложения и используемых им функций платформы.
Прежде чем начать тестирование, обязательно ознакомьтесь с изменениями поведения всех приложений . Эти изменения могут повлиять на ваше приложение, даже если вы не измените его targetSdkVersion
.
Установите образ системы Android 12 на свое устройство или загрузите образ системы для эмулятора Android.
Проверьте изменения в поведении системы, чтобы определить области, где это может повлиять на ваше приложение.
Установите приложение на устройство или эмулятор и проведите тестирование. Обратите внимание на изменения в поведении системы и проработайте все этапы работы приложения.
Вносите только те изменения в код, которые необходимы для адаптации к изменениям поведения или решения проблем. Перекомпилируйте с тем же уровнем API, на который изначально ориентировалось ваше приложение — нет необходимости ориентироваться на Android 12.
Подпишите, загрузите и опубликуйте обновленный Android App Bundle или APK.
Проведите тестирование совместимости
В целом, тестирование совместимости с Android 12 похоже на обычное тестирование приложений. Сейчас самое время ознакомиться с основными рекомендациями по качеству приложений и передовыми практиками тестирования .
Для тестирования установите ваше текущее опубликованное приложение на устройство под управлением Android 12 и проанализируйте все процессы и функции, выявляя проблемы. Чтобы лучше сфокусировать тестирование, ознакомьтесь с изменениями поведения всех приложений, представленными в Android 12, которые могут повлиять на работу вашего приложения или привести к его сбоям.
Также обязательно проверьте и протестируйте использование ограниченных интерфейсов, не относящихся к SDK . Замените все ограниченные интерфейсы, используемые вашим приложением, на публичные эквиваленты SDK или NDK. Следите за предупреждениями LogCat, которые указывают на такие попытки доступа, и используйте метод StrictMode
detectNonSdkApiUsage()
для их программного обнаружения.
Наконец, обязательно полностью протестируйте библиотеки и SDK в вашем приложении, чтобы убедиться, что они работают должным образом на Android 12, и следуйте рекомендациям по обеспечению конфиденциальности, производительности, пользовательского опыта, обработки данных и разрешений. Если вы обнаружите проблему, попробуйте обновить SDK до последней версии или обратитесь за помощью к разработчику SDK.
После завершения тестирования и внесения всех необходимых изменений мы рекомендуем сразу же опубликовать совместимое приложение. Это позволит вашим пользователям протестировать приложение заранее и обеспечит плавный переход на Android 12.
Обновите таргетинг приложения и используйте новые API.
После публикации совместимой версии вашего приложения следующим шагом будет добавление полной поддержки Android 12 путем обновления targetSdkVersion
и использования новых API и возможностей Android 12. Вы можете внести эти обновления, как только будете готовы, учитывая требования Google Play для ориентации на новую платформу.
Планируя полную поддержку Android 12, ознакомьтесь с изменениями поведения, которые влияют на приложения, предназначенные для Android 12. Эти изменения поведения могут привести к функциональным проблемам, которые вам потребуется устранить. В некоторых случаях эти изменения требуют серьёзной разработки, поэтому мы рекомендуем изучить их и устранить как можно раньше. Чтобы определить конкретные изменения поведения, влияющие на ваше приложение, используйте переключатели совместимости для тестирования приложения с выбранными изменениями.
Следующие шаги описывают, как обеспечить полную поддержку Android 12.
Установите последнюю версию Android Studio Preview, чтобы выполнять сборку на базе Android 12. Убедитесь, что у вас есть устройство или эмулятор Android 12.
Обновите targetSdkVersion
и другие конфигурации сборки.
Ознакомьтесь с изменениями в поведении, которые применяются к приложениям для Android 12. Определите области, на которые ваше приложение может повлиять, и спланируйте меры поддержки.
Внесите необходимые изменения в код и архитектуру для поддержки изменений в конфиденциальности пользователей Android 12.
Воспользуйтесь API Android 12, чтобы добавить новые функции и возможности в свои приложения. Перекомпилируйте для Android 12.
Тестирование на устройстве Android 12 или эмуляторе. Обратите внимание на области, где изменения поведения могут повлиять на ваше приложение. Опробуйте функции, использующие новые API. Оставьте отзыв о платформе и API. Сообщите о любых проблемах с платформой, API или сторонними SDK.
Как только API Android 12 будут готовы, снова обновите targetSdkVersion
и другие конфигурации сборки, внесите любые дополнительные обновления и протестируйте свое приложение.
Подпишите, загрузите и опубликуйте обновленный Android App Bundle или APK.
Получите SDK, измените таргетинг, используйте новые API
Чтобы начать тестирование полной поддержки Android 12, используйте последнюю предварительную версию Android Studio, чтобы загрузить Android 12 SDK и другие необходимые инструменты. Затем обновите targetSdkVersion
и compileSdkVersion
вашего приложения и перекомпилируйте его. Подробности см. в руководстве по настройке SDK .
Протестируйте свое приложение для Android 12
После компиляции приложения и установки его на устройство под управлением Android 12 начните тестирование, чтобы убедиться в корректной работе приложения на Android 12. Некоторые изменения в поведении применяются только тогда, когда ваше приложение предназначено для новой платформы, поэтому перед началом работы вам следует ознакомиться с этими изменениями .
Как и при базовом тестировании совместимости, проанализируйте все процессы и функции в поисках проблем. Сосредоточьте внимание на изменениях в поведении приложений, ориентированных на Android 12. Также сейчас самое время проверить ваше приложение на соответствие основным рекомендациям по качеству приложений и лучшим практикам тестирования .
Обязательно проверьте и протестируйте использование ограниченных интерфейсов, не относящихся к SDK . Следите за предупреждениями LogCat, которые указывают на такие попытки доступа, и используйте метод StrictMode detectNonSdkApiUsage()
для их программного обнаружения.
Наконец, обязательно полностью протестируйте библиотеки и SDK в вашем приложении, чтобы убедиться, что они работают должным образом на Android 12, и следуйте рекомендациям по обеспечению конфиденциальности, производительности, пользовательского опыта, обработки данных и разрешений. Если вы обнаружите проблему, попробуйте обновить SDK до последней версии или обратитесь за помощью к разработчику SDK.
Тестирование с использованием переключателей совместимости приложений
В Android 12 предусмотрены переключатели совместимости, которые упрощают тестирование приложения с целевыми изменениями поведения. Для отлаживаемого приложения эти переключатели позволяют:
- Тестируйте целевые изменения, не изменяя targetSdkVersion приложения . Вы можете использовать переключатели для принудительного включения определённых целевых изменений поведения, чтобы оценить их влияние на ваше текущее приложение.
- Сосредоточьте тестирование только на конкретных изменениях . Вместо того, чтобы обрабатывать все целевые изменения сразу, переключатели позволяют отключить все целевые изменения, кроме тех, которые вы хотите протестировать.
- Управление переключателями через adb . Вы можете использовать команды adb для включения и отключения переключаемых изменений в автоматизированной тестовой среде.
- Ускоряйте отладку, используя стандартные идентификаторы изменений . Каждое из переключаемых изменений имеет уникальный идентификатор и имя, которые можно использовать для быстрого поиска первопричины в журнале.
Переключатели могут быть полезны при подготовке к изменению целевого назначения приложения или во время активной разработки для поддержки Android 12. Подробнее см. в разделе Изменения в структуре совместимости (Android 12) .