Developer Discovers Adaptive Icons Bug That Causes Bootloops in Android Oreo

Developer Discovers Adaptive Icons Bug That Causes Bootloops in Android Oreo

Update 11/9/17: Google has fixed the bug.

Happening Studios, the developer of Swipe for Facebook, has discovered an application bug with Android 8.0 Oreo’s adaptive icons which causes bootloops. It’s pretty serious: On affected devices, it repeatedly crashes the system UI and any launcher which uses adaptive icons. Users can’t even reach the settings menu to uninstall the rogue app.

The only way to fix the adaptive icons bug is to switch Android’s USB Debugging setting on, plug the phone into a PC with ADB and Fastboot installed, and use the following ADB command to uninstall the buggy app:

adb uninstall 

Users who don’t have USB debugging enabled before they install the app are out of luck — they have to factory reset their phones. Thankfully, though, the Android dev team are aware of the issue and working on a fix which should be released with Android 8.1.

Why Are Adaptive Icons Causing Bootloops?

The adaptive icons bug stems from sloppy coding. Buggy apps’ foreground asset — the bit containing the top layer of the icon — have the same name as the XML file containing the code which tells the device where said foreground asset is. Effectively, the code for finding the foreground app’s icon creates a circular reference.

**<foreground android:drawable="@mipmap/ic_launcher_main"/>**

In one example, a developer used the name “ic_launcher_main.xml” to refer to the XML file, which interfered with the foreground asset called “ic_launcher main.” The file was repeatedly called until it eventually crashed devices.

It’s a bit strange that the bug got through Google’s quality assurance team, but it’s good that it’s being fixed soon. What’s really problematic is the fact that lots of users had to factory reset their devices, but hopefully that’ll be a thing of the past soon.

Update: Google Has Fixed the Bug

That was quick. A little over a week after Happening Studios reported the bug in Google’s Issue Tracker, a Google engineer responded with news of a fix. Future versions of Android Studio, Android Studio 3.0.1 and 3.1, will include an additional check in the New Asset wizard for infinite loops.

sp…@google.com <sp…@google.com> #11 Nov 9, 2017 12:27PM

The additional check in the New Image Asset wizard will be included in AS 3.0.1 and in AS 3.1 Canary 3.

Source: Google Issue Tracker

Discuss This Story

READ THIS NEXT