Xposed Issues on Nexus 6? Try this! *Not needed on Alpha 2

Search This thread

bmg1001

Senior Member
Mar 18, 2012
1,585
925
Los Angeles
OnePlus 7 Pro
As of March 8th, 2015, rovo89 has updated the Xposed framework to Alpha 2, removing the need to have SELinux set to permissive.

So me and a few other guys over in the Xposed Thread were having issues getting our Nexus 6 devices to run the new Xposed Alpha properly. It kept throwing out errors that Xposed wasn't installed and modules didn't work. After a bunch of trial and error, we figured out how to make it work (at least for us)! So if you're having similar issues, try this workaround until Xposed is updated to fix this (although it may be a Nexus 6 error only).

Note: Make sure you already have Xposed installed. http://forum.xda-developers.com/xposed/official-xposed-lollipop-t3030118

Here's a list of which modules are working or not working for some people.
Although these modules have been reported to be functional for some users, the modules may behave differently on our device.

Method 1

1. Make sure SELinux is set to Permissive. You can set it to permissive using this root app, if your kernel isn't permissive by default. https://play.google.com/store/apps/details?id=com.mrbimc.selinux

2. When rebooting into your system after setting SELinux to permissive, enable the Xposed modules that you want.

3. From inside the Xposed app, perform a soft reboot.

4. When the device fully boots up, Xposed should now be fully working. If you still have issues, converting Xposed to a system app might help.

Method 2 Thanks to skaforey

1. Download this script from post #65

2. Extract the file to the root of your sdcard.

3. Using a Terminal Emulator, type the following commands:
Code:
su
cd /sdcard/
sh initd.sh

4. Reboot and Xposed should now be working without a soft reboot needed.

Method 3

1. Flash one of the these zips, which does the same thing as Method 2, but easier! Thanks to both 4got and rootSU

Both files do the same thing

Zip 1 (by 4got)

Zip 2 (by rootSU)

2. Everything should be fully working now!

Not all ROM/Kernel configurations support init.d scripts!

Method 4

1. Use a kernel that's been set to permissive by default. Please don't bother/annoy devs to make their kernels permissive.

Here's a version of LeanKernel modified by Imoseyon to be permissive be default.

LeanKernel (Permissive)

2. Everything should be working. Flashing another kernel will disable Xposed again, unless the kernel is permissive or you fallback on other methods.

Method 5 Thanks to flar2 and shivindera.

Required SuperSU to be installed.

This method differs from Method 3 because the script to set SELinux to permissive is located in /system/su.d (instead of init.d) and allows for compability with more ROM/Kernel configurations. This post by flar2 will better explain what this script does.

1. Flash this zip by shivindera.

2. Everything should be working :)

Note: For advanced users who already have files in /system/su.d/ please remove the "delete" line from the updater-script so as to not lose any of your already pre-existing files.

Please post here if it worked for you. So far for us over at the Xposed thread, it seems to have worked. Thanks guys! Enjoy your modules!
 
Last edited:

danarama

Senior Member
Aug 22, 2010
31,283
18,814
Oxenhope, West Yorkshire, UK
The problem I imagine is that xposed activates on boot before the selinux mode changer changes the permissive flag. The soft reboot doesnt envoke the default mode as a full boot does, so the mode changer app has already done what is needed.. On the n5 we had a permissive kernel by @sykopompos. I imagine if we had that, we wouldn't need the soft reboot. Is there such a thing for the n6?
 
Last edited:
  • Like
Reactions: wrongway213

bmg1001

Senior Member
Mar 18, 2012
1,585
925
Los Angeles
OnePlus 7 Pro
The problem I imagine is that xposed activates on boot before the selinux mode changer changes the permissive flag. The soft reboot doesnt envoke the default mode as a full boot does, so the mode changer app has already done what is needed.. On the n5 we had a permissive kernel by @sykopompos. I imagine if we had that, we wouldn't need the soft reboot. Is there such a thing for the n6?

I'm sure it could be made. I guess it's up to the kernel devs to make the default permissive.
EDIT: I was reading the Xposed thread, and you're right! Xposed runs at boot, but SELinux Changer sets SELinux to Permissive after Xposed runs, which is why a soft reboot works, because your restarting Xposed while SELinux is at Permissive. So yes, a kernel set to permissive to default will do the trick without this workaround.
 
Last edited:
  • Like
Reactions: lobrau

D-m-x

Senior Member
Apr 28, 2011
1,700
776
Germany
I think Kernel Devs won't do such a thing, flar2 for example said for his ElementalX Kernel he won't set it to Permissive for various Reason. I imagine other Devs have a similar Opinion.

But I'm sure rovo will fix it in time :D
 

danarama

Senior Member
Aug 22, 2010
31,283
18,814
Oxenhope, West Yorkshire, UK
I think Kernel Devs won't do such a thing, flar2 for example said for his ElementalX Kernel he won't set it to Permissive for various Reason. I imagine other Devs have a similar Opinion.

But I'm sure rovo will fix it in time :D
I'm sure he will not sure how though. We can't delay xposed start up because ART is not JiT so all instructions run at boot rather than when you run a "command"
 

negativzeroe

Senior Member
May 1, 2011
842
164
Nope. I did manage to bork my app drawer lol. Might be the theme update though.
 

Attachments

  • 1423874043251.jpg
    1423874043251.jpg
    36.2 KB · Views: 2,480
  • 1423874051934.jpg
    1423874051934.jpg
    75.7 KB · Views: 2,486

lobrau

Senior Member
Jan 20, 2012
110
28
Ottawa
Yep this made it work. Thanks. However does that mean when we boot we will then have to soft boot to get it enabled everytime until either rovo fixes it somehow or kernel debs set their default to SELinux permissive?
 

jpd_

Senior Member
Nov 5, 2012
102
22
Austin
So me and a few other guys over in the Xposed Thread were having issues getting our Nexus 6 devices to run the new Xposed Alpha properly. It kept throwing out errors that Xposed wasn't installed and modules didn't work. After a bunch of trial and error, we figured out how to make it work (at least for us)! So if you're having similar issues, try this workaround until Xposed is updated to fix this (although it may be a Nexus 6 error only).

Note: Make sure you already have Xposed installed. http://forum.xda-developers.com/xposed/official-xposed-lollipop-t3030118

1. Make sure SELinux is set to Permissive. You can set it to permissive using this root app, if your kernel isn't permissive by default. https://play.google.com/store/apps/details?id=com.mrbimc.selinux

2. When rebooting into your system after setting SELinux to permissive, enable the Xposed modules that you want.

3. From inside the Xposed app, perform a soft reboot.

4. When the device fully boots up, Xposed should now be fully working. If you still have issues, converting Xposed to a system app might help.

PLEASE PLEASE PLEASE post here if it worked for you. So far for us over at the Xposed thread, it seems to have worked. Thanks guys! Enjoy your modules!
Its working great for me.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 48
    As of March 8th, 2015, rovo89 has updated the Xposed framework to Alpha 2, removing the need to have SELinux set to permissive.

    So me and a few other guys over in the Xposed Thread were having issues getting our Nexus 6 devices to run the new Xposed Alpha properly. It kept throwing out errors that Xposed wasn't installed and modules didn't work. After a bunch of trial and error, we figured out how to make it work (at least for us)! So if you're having similar issues, try this workaround until Xposed is updated to fix this (although it may be a Nexus 6 error only).

    Note: Make sure you already have Xposed installed. http://forum.xda-developers.com/xposed/official-xposed-lollipop-t3030118

    Here's a list of which modules are working or not working for some people.
    Although these modules have been reported to be functional for some users, the modules may behave differently on our device.

    Method 1

    1. Make sure SELinux is set to Permissive. You can set it to permissive using this root app, if your kernel isn't permissive by default. https://play.google.com/store/apps/details?id=com.mrbimc.selinux

    2. When rebooting into your system after setting SELinux to permissive, enable the Xposed modules that you want.

    3. From inside the Xposed app, perform a soft reboot.

    4. When the device fully boots up, Xposed should now be fully working. If you still have issues, converting Xposed to a system app might help.

    Method 2 Thanks to skaforey

    1. Download this script from post #65

    2. Extract the file to the root of your sdcard.

    3. Using a Terminal Emulator, type the following commands:
    Code:
    su
    cd /sdcard/
    sh initd.sh

    4. Reboot and Xposed should now be working without a soft reboot needed.

    Method 3

    1. Flash one of the these zips, which does the same thing as Method 2, but easier! Thanks to both 4got and rootSU

    Both files do the same thing

    Zip 1 (by 4got)

    Zip 2 (by rootSU)

    2. Everything should be fully working now!

    Not all ROM/Kernel configurations support init.d scripts!

    Method 4

    1. Use a kernel that's been set to permissive by default. Please don't bother/annoy devs to make their kernels permissive.

    Here's a version of LeanKernel modified by Imoseyon to be permissive be default.

    LeanKernel (Permissive)

    2. Everything should be working. Flashing another kernel will disable Xposed again, unless the kernel is permissive or you fallback on other methods.

    Method 5 Thanks to flar2 and shivindera.

    Required SuperSU to be installed.

    This method differs from Method 3 because the script to set SELinux to permissive is located in /system/su.d (instead of init.d) and allows for compability with more ROM/Kernel configurations. This post by flar2 will better explain what this script does.

    1. Flash this zip by shivindera.

    2. Everything should be working :)

    Note: For advanced users who already have files in /system/su.d/ please remove the "delete" line from the updater-script so as to not lose any of your already pre-existing files.

    Please post here if it worked for you. So far for us over at the Xposed thread, it seems to have worked. Thanks guys! Enjoy your modules!
    42
    So I ran the init script and I installed some modules, but had to soft reboot to get them to show the framework has been installed.

    They all work great but every time I do a regular reboot I also have to go back in and soft reboot. Anyone else have to do this?

    Why still using ini.td? Init.d needs a lot of stuff to fall into place in order to work.

    Do the following and all permissive problems are solved (even on stock kernel):

    1. Install SuperSU

    2. Type this in terminal or adb shellt:
    Code:
    su
    mount -o remount,rw /system
    mkdir /system/su.d
    echo "#!/system/bin/sh" > /system/su.d/permissive.sh
    echo "echo 0 > /sys/fs/selinux/enforce" >> /system/su.d/permissive.sh
    chmod 755 > /system/su.d/permissive.sh

    3. reboot into a permissive system
    15
    Working!!!

    For all those who have Super SU. :cool:

    Flash the attached zip to make the kernel permissive no matter which kernel it is. :victory::victory::victory:
    It uses the SuperSU's concept that after daemon is ready to go, all executables in the /system/su.d/ directory are executed. So no need for soft reboots.

    OP ( @bmg1001 ) please add this to the 1st post so that other people can also benefit from it.:angel:

    Mentions:
    Thanks @flar2 for the method and @rootSU for the informative posts. I just packaged it into a flashable zip file which everybody can use.:highfive:

    Edit 1: For advanced users who already have files in /system/su.d/ please remove the "delete" line from the updater-script so as to not lose any of your already pre-existing files.
    11
    Although it seems I'm too late, here is my flashable zip anyway. I didn't go for running the shell script, just a more tangible brute force type thing.

    For anyone that this isn't working for, it could be related to not having init.d working properly. The scripts in this zip attempt to make init.d work but they are not infallible. To check if init.d is working, reboot twice and check /data/Test.log. if it doesn't exist, init.d is not working.
    9
    Why still using ini.td? Init.d needs a lot of stuff to fall into place in order to work.

    Do the following and all permissive problems are solved (even on stock kernel):

    1. Install SuperSU

    2. Type this in terminal or adb shellt:
    Code:
    su
    mount -o remount,rw /system
    mkdir /system/su.d
    echo "#!/system/bin/sh" > /system/su.d/permissive.sh
    echo "echo 0 > /sys/fs/selinux/enforce" >> /system/su.d/permissive.sh
    chmod 755 > /system/su.d/permissive.sh

    3. reboot into a permissive system


    I noticed a mistake in one of the lines. It should be:

    Code:
    chmod 755  /system/su.d/permissive.sh


    Anyway, all you need to do is make a file called /system/su.d/permissive.sh and add "setenforce 0" or "echo 0 > /sys/fs/selinux/enforce" inside, make it executable, and it will work.