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