Баг в адаптивных иконках Android Oreo уводит устройства в бесконечную перезагрузку

Новая функция Android Oreo является причиной постоянной перезагрузки устройств, заставляя пользователей сбрасывать настройки до заводских и терять важные данные.
адаптивные иконки

Баг был обнаружен создателем Swipe, Android-клиента Facebook. По его словам, ошибка никаким образом не влияет на версию Android Oreo с заводскими настройками.

Причина проблемы

Ошибка проявляется только при работе с приложениями, использующими адаптивные иконки. Это новая функция ОС, которая меняет размер и форму иконок приложений согласно устройству, на котором они установлены. Стиль адаптивных иконок определяется в локальном XML-файле.

Ошибка впервые показала себя, когда разработчик случайно подобрал имя изображения иконки, совпадающее с этим самым XML-файлом (ic_launcher_main.png и ic_launcher_main.xml соответственно).

Ошибки нет в эмуляторах Android Studio

Разработчик не поймал этот баг во время разработки, потому что все тесты проводились на эмуляторе в Android Studio. Как только разработчик загрузил новую версию приложения в магазин Play Store, посыпались гневные комментарии и отзывы пользователей, что приложение приводит к краху всей системы.

В своём багрепорте разработчик написал:

Два файла с одинаковыми именами создают круговую ссылку друг на друга, которую Android Studio не может определить. Это приводит к тому, что SystemUI постоянно крашится, как и другие лаунчеры с поддержкой адаптивных иконок. Пользователи даже не могут войти в настройки устройства, чтобы удалить моё приложение. Постоянный крах приводит систему к перезапуску, и, как следствие, к бутлупу.

Решение проблемы и реакция Google

Разработчик также отметил, что простая установка подобного приложения, даже без его запуска, приводит к постоянным перезагрузкам. Подобное поведение ОС может быть использовано злоумышленниками.

Единственное решение подобной проблемы — это удаление моего приложения через ADB посредством USB-отладки. В противном случае, вы просто получите запрос от Android на сброс всех настроек до заводских. Именно это и возмутило тысячи пользователей моего приложения.

Google сообщила, что разработчики Android Oreo планируют устранить существующий баг адаптивных иконок в предстоящей версии 8.1.

Источник: Bleeping Computer

Ещё интересное для вас:
— Биты, байты, Ада Лавлейс — тест на знание околоIT.
— Level Up — события и курсы, на которых можно поднять свой уровень.
— Работа мечты — лучшие IT-вакансии для вас.

Вакансии в тему:

Лого компании «Finch»
Android-разработчик
Android-разработчик
Finch, Москва, от 80 000 до 150 000 ₽ (до налогов)