Баг в адаптивных иконках 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