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