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

Search This thread

ttabbal

Senior Member
Jul 1, 2009
2,076
723
Samsung Galaxy S21 Ultra
Not all modules work. I have CrapaLinks and YouTube Adaway working. I think YouTube works anyway... App settings for per app dpi doesn't work though. Something like tinted statusbar is probably the easiest way to test. Check the logs in the xposed installer app.
 

flonker

Senior Member
Nov 3, 2011
395
162
Google Pixel 7 Pro
Cool. And also just to confirm, you have selinux mode changer app, set to permissive. After you reboot you then do soft reboot in xposed app?

Tinted status bar works...

Edit: Although any app that was already formatted to change the status bar color natively now shows a black status bar, I'm sure that's just the module needing to be updated, but it's not worth the tradeoff.

2nd Edit: Yes, I'm too lazy to figure out which apps are already updated to material design and block them from the app. lol.
 
Last edited:
  • Like
Reactions: danarama

ttabbal

Senior Member
Jul 1, 2009
2,076
723
Samsung Galaxy S21 Ultra
One thing that should be mentioned...

Please do NOT post on ROM threads with problems if you have xposed installed. They can't really help you as you have modified the OS. If you think it's a ROM bug, backup and clean flash. If you can still reproduce it, then post with a logcat. If you can't make it happen, you broke it with xposed and/or a module.
 

thavet

Senior Member
Apr 15, 2010
52
8
Austin
ok I set the SeLinux to permissive and xposed is installed but when I open the app the framework says "installation is only possible manually via recovery for now". Am I missing something, how do I install through recovery? SORRY IF THIS IS A NOOB QUESTION.
 

smclaughlin3

Senior Member
Sep 25, 2013
281
21
Stupid se linux app keeps telling me it cant gain gain root acces everytime i reboot and xposed has the manual recovery install method only available. Running lean kernel which i thought was already permissive guess not...... Any ideas? Thanks
 

danarama

Senior Member
Aug 22, 2010
31,277
18,811
Oxenhope, West Yorkshire, UK
ok I set the SeLinux to permissive and xposed is installed but when I open the app the framework says "installation is only possible manually via recovery for now". Am I missing something, how do I install through recovery? SORRY IF THIS IS A NOOB QUESTION.
Install the app, flash the flash able zip. Ensure selinux app set to permissive. Boot then soft boot
 
  • Like
Reactions: thavet

wrongway213

Recognized Dev & Contributor / Retired Forum Mod
Jul 27, 2014
5,123
9,011
35
Canton, OH
Google Pixel 7
So let's think guys - we have to have a good kernel that's default permissive on the Shamu - anyone think of anything? Might make this a lot easier until a better solution than constant soft reboots arises if the issue is really permissive not being set on boot as rootSu suggested (and I am inclined to agree with)
 

poczynek

Senior Member
Jul 10, 2012
1,892
791
Sydney
So let's think guys - we have to have a good kernel that's default permissive on the Shamu - anyone think of anything? Might make this a lot easier until a better solution than constant soft reboots arises if the issue is really permissive not being set on boot as rootSu suggested (and I am inclined to agree with)

Hmm so which ones are?
 

thavet

Senior Member
Apr 15, 2010
52
8
Austin
I followed your directions still no luck plus every time i reboot selinux goes back to enforcing and I'm still getting the same message. could the rom that im on just not be compatible? This is what I keep getting.
 

Attachments

  • Screenshot_2015-02-13-17-47-59.png
    Screenshot_2015-02-13-17-47-59.png
    131 KB · Views: 1,007
  • Screenshot_2015-02-13-17-48-12.jpg
    Screenshot_2015-02-13-17-48-12.jpg
    241 KB · Views: 1,010
Last edited:

danarama

Senior Member
Aug 22, 2010
31,277
18,811
Oxenhope, West Yorkshire, UK
I followed your directions still no luck plus every time i reboot selinux goes back to enforcing and I'm still getting the same message. could the rom that im on just not be compatible?
Selinux is set to enforcing in the kernel. Everytime you boot up from off including a reboot, selinux is enforcing. That's why xposed doesn't work. The selinux mode changer app doesn't change mode until it is too late so every time you reboot or power up, you must do a soft reboot immediately as mode doesn't change.
 

wrongway213

Recognized Dev & Contributor / Retired Forum Mod
Jul 27, 2014
5,123
9,011
35
Canton, OH
Google Pixel 7
Selinux is set to enforcing in the kernel. Everytime you boot up from off including a reboot, selinux is enforcing. That's why xposed doesn't work. The selinux mode changer app doesn't change mode until it is too late so every time you reboot or power up, you must do a soft reboot immediately as mode doesn't change.

So are you saying if we flash a permissive kernel as opposed to using the app you believe we will be able to use Xposed on reboot normally?
 

skaforey

Senior Member
Nov 5, 2009
603
399
San Diego, CA
I think if we could set permissive mode in init.d then it should work. I have tried messing around with this, but I am not very experienced in doing so. Basically, in /system/etc/init.d if there is a script that runs to set permissive mode then we should be golden:
Code:
su 0 setenforce 0

I have verified that if I run the above command in a shell (without using the permissive app), and then soft reboot, then it will work. However, when I stick this script in the directory it doesn't seem to work. Anyone more experienced have any ideas?
 
  • Like
Reactions: CrashTestDroid

danarama

Senior Member
Aug 22, 2010
31,277
18,811
Oxenhope, West Yorkshire, UK
I think if we could set permissive mode in init.d then it should work. I have tried messing around with this, but I am not very experienced in doing so. Basically, in /system/etc/init.d if there is a script that runs to set permissive mode then we should be golden:
Code:
su 0 setenforce 0

I have verified that if I run the above command in a shell (without using the permissive app), and then soft reboot, then it will work. However, when I stick this script in the directory it doesn't seem to work. Anyone more experienced have any ideas?
Kernel needs init.d support too. Also I dont think you can call root like that in init.d though I'm not sure you'd need it...
 

ttabbal

Senior Member
Jul 1, 2009
2,076
723
Samsung Galaxy S21 Ultra
I think if we could set permissive mode in init.d then it should work. I have tried messing around with this, but I am not very experienced in doing so. Basically, in /system/etc/init.d if there is a script that runs to set permissive mode then we should be golden:
Code:
su 0 setenforce 0

I have verified that if I run the above command in a shell (without using the permissive app), and then soft reboot, then it will work. However, when I stick this script in the directory it doesn't seem to work. Anyone more experienced have any ideas?

Try making the first line this..

#!/system/bin/sh


And make sure the execute permission is set.

And you don't need su in there. Init.d runs as root.
 
Last edited:

skaforey

Senior Member
Nov 5, 2009
603
399
San Diego, CA
Try making the first line this..

#!/system/bin/sh


And make sure the execute permission is set.

And you don't need su in there. Init.d runs as root.

I did have that in there actually...here's the whole script actually (with permissions set to 0755):
Code:
#!/system/bin/sh
#Init.d Permissive SELinux

busybox mount -o remount,rw -t auto /system
busybox mount -o remount,rw -t auto /data

setenforce 0
SELINUX=permissive

According to an app I downloaded, the kernel I'm using does have init.d support. Still no dice :(
 

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://xdaforums.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.