4

I was playing with some Xposed modules on Galaxy S4 Mini phone and then after applying some changes, it stopped booting and stuck on boot logo screen.

So, i tried to boot it up again in safe mode by holding Home menu during startup, as i did to solve earlier problems, but had no luck this time! Still stuck on logo. Then after a little bit of googling found another boot option that can be activated by pressing power button multiple times immediately after starting the phone until it vibrates by your keypress. Fortunately, it helped a lot and i could boot up the system and deactivate the problematic module and the problem got solved. :)

Before this, i knew only one way of starting Android in Safe mode, which was by holding Home button during boot until you see Safe Mode label on the edge of your screen and then all of your downloaded applications would be temporary deactivated. (Although, key combination may differ on other brands.)

But, when i booted up using this life-saving way by pressing power button multiple times,

  • All of my apps were loaded normally
  • There was no sign of Safe Mode label
  • And thankfully, Xposed framework seemed to be disabled
  • Although, i still got all other functionalities and even root access

What is this type of booting called? Is it some kind of Safe Mode? What Changes does it make to system/services/apps? Is it a feature of Xposed framework or is a part of Android itself?

I've done a lot of searching but found nothing technically well-documented about it.

  • Just a guess from your description: Not a specific mode, but simply telling Xposed not to load? There are different ways to achieve this, so this might well be one of them. – Izzy Dec 19 '15 at 15:24
  • @Izzy Yes, it might be. Although, it seems unlikely that Xposed has such a deep integration with Android core that it can listen for keystrokes in very beginning steps of booting procedure. – zxcmehran Dec 19 '15 at 15:35
  • @zxcmehran Xposed integrates into app_process and libart.so so as long as Android itself boots up, Xposed is also running and able to listen to lowest level events, including button presses on booting. – GiantTree Dec 19 '15 at 15:47
  • @GiantTree Thanks for your clearification. So it seems to be a fail-safe switch to disable Xposed... – zxcmehran Dec 19 '15 at 15:58
3

After doing some more research specially on Xposed itself, found out this way of booting is a fail-safe option to disable Xposed Framework at boot time which seems to be a feature of the framework itself and have nothing to do with Android core. As mentioned in this thread:

Xposed for the most part is STABLE and SAFE. However, installing an experimental module or an old module can cause a boot-loop. If this occurs, there is a fail-safe switch to disable Xposed and exit the boot-loop. To disable Xposed, tap one of the hardware buttons (the Power button or a Volume button) on your device, SEVERAL TIMES, during startup. This means that pressing the Volume Up button, for example, multiple times (during startup) will eventually disable Xposed and cause your device to boot.

It says to press ANY of hardware buttons several times, so i was pressing power button several times! That's it!

Note that you might need to reinstall the framework after disabling it using this method. Rebooting might not reload the framework again.

  • 2
    I further assume that will leave a "disable flag" somewhere in Xposed's data directories. So if it doesn't load after the next boot, before re-installing check for that and remove if found :) Ah, here it is: data/app folder showing wrong folder names – Izzy Dec 19 '15 at 16:17
  • 2
    Also see this XDA post :) – Izzy Dec 19 '15 at 16:23
  • @Izzy, that can cause a lot of confusion. The post in the latter link says to create disable file but such file doesn't cause any effect. It is supposed to be named disabled. Absence of d causes lots of ??? in mind. :) – Firelord Dec 19 '15 at 17:27
  • @Firelord that's why I've linked both – I vaguely remembered something with a "d". In this case here, simply delete both if they're present :) – Izzy Dec 19 '15 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.