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