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