Мое приложение для Android не работает должным образом после того, как я установил targetSDK как API 30; как мне выяснить причину (ы)?

Согласно , все новые приложения Google Play с августа 2021 года должны будут ориентироваться на API 30, помимо того, что они будут производиться в виде пакетов приложений Android. Кроме того, с ноября 2021 года даже обновления приложений должны будут соответствовать.

Итак, я обновлял свое приложение с API 29 до API 30, и некоторые функции вышли из строя. Как мне выяснить причину (ы)? Из Googleсписка изменений, предоставленного Google, это неочевидно, поскольку это не просто вопрос проверки того, используются ли определенные устаревшие API.

В идеале, если бы Android Studio могла предоставить способ увидеть, как функции API 30 влияют на поведение моего приложения, это было бы круто.

1 ответ

Я обнаружил интересную функцию в параметрах разработчика Android, которая называется «Изменения совместимости приложений». Google описывает эти инструменты Compatibility Framework следующим образом:

В Android 11 представлены новые инструменты разработчика для тестирования и отладки вашего приложения с учетом изменений поведения в новых версиях платформы Android. Эти инструменты являются частью платформы совместимости, которая позволяет разработчикам приложений включать и отключать критические изменения по отдельности с помощью параметров разработчика или ADB. Используйте эту гибкость при подготовке к работе с последней стабильной версией API и при тестировании приложения с предварительным выпуском следующей версии Android.

Вау, и глядя на это по телефону, кажется, что вы действительно можете включать и выключать каждую новую функцию / изменение по отдельности?

Что ж, посмотрим; сначала он дает нам список всех отлаживаемых приложений на устройстве, и если мы выберем одно из них, скажем, с таргетингом на API 29, тогда мы сможем включить / выключить каждую функцию API 30 индивидуально, как показано в примере ниже, с CALLBACK_ON_CLEAR_CHANGE.

Прохладный! Отметим всего два момента: это работает только с отлаживаемыми приложениями; и если вы хотите включить / выключить функции API 30, создайте свое отлаживаемое приложение, ориентируясь на уровень API ниже, то есть API 29 в данном случае, а затем включите / выключите функции и начните тестирование! Если вы не знаете, какая функция вызывает проблемы, вы можете ускорить поиск, выбрав, скажем, половину из 30 или около того изменений, посмотреть, есть ли проблемы или нет, и т. Д. , чтобы увеличить до правых переключателей.

Другие вопросы по тегам