Disable Modules when Xposed is disabled - Xposed General

Hi,
Sometimes in Lollipop some module don't work. Then, in my case I reboot to recovery and I touch the file "conf/disabled" for starting without Xposed. After that, I like to disable the module in the UI of the Xposed Installer App... but when the framework is disabled, this option is disabled.
Please, can you change this?
Thank you!
Note: Yes, is posible to manually change the "/conf/modules.list" file from the recovery, but this is more complicated.

manos78 said:
Hi,
Sometimes in Lollipop some module don't work. Then, in my case I reboot to recovery and I touch the file "conf/disabled" for starting without Xposed. After that, I like to disable the module in the UI of the Xposed Installer App... but when the framework is disabled, this option is disabled.
Please, can you change this?
Thank you!
Note: Yes, is posible to manually change the "/conf/modules.list" file from the recovery, but this is more complicated.
Click to expand...
Click to collapse
Why don't you just disable the module, reboot, enable the module again and reboot again? No need to place any files through recovery?
By the way: could you give us more information about your device, the Android version and the Xposed files you use? Those are important information, without them nobody might help you.

orville87 said:
Why don't you just disable the module, reboot, enable the module again and reboot again? No need to place any files through recovery?
Click to expand...
Click to collapse
Because the device don't boot (bootloop on the boot animation)!!!
So, in this case the ONLY solution is: boot to recovery, touch the "disable" file, reboot with Xposed disabled... and then: How to DISABLE the module? The UI is blocking the option of enable/disable modules when the framework is disabled!
Please, remove this arbitrious limitation in the UI.
Thank you!

Why don't you just delete the modules.list inside the
data/data/de.robv.android.xposed.installer/conf/
folder?

corncobman said:
Why don't you just delete the modules.list inside the
data/data/de.robv.android.xposed.installer/conf/
folder?
Click to expand...
Click to collapse
Good alternative, but this disables all modules and you lost the info related to enabled/disabled modules... or not?

manos78 said:
Good alternative, but this disables all modules and you lost the info related to enabled/disabled modules... or not?
Click to expand...
Click to collapse
Yes, this method disables all modules. But what info related to enabled/disabled modules are you talking about? Which modules have been enabled and which not?

... you lost the info related to enabled/disabled modules... or not?
Click to expand...
Click to collapse
Not. The list of which modules are selected and which are not selected are still shown. Just disable the offending module and reboot.

corncobman said:
Not. The list of which modules are selected and which are not selected are still shown. Just disable the offending module and reboot.
Click to expand...
Click to collapse
Then you recommend "delete this file" instead of "touch the disable file" for disable only the loading of the modules but enable the framework? Then, when rebooting the phone the module list will be re-created?

The module list will be created when you change the list, i.e. toggle one module on or off. The changes only apply when you reboot.

manos78 said:
Then you recommend "delete this file" instead of "touch the disable file" for disable only the loading of the modules but enable the framework? Then, when rebooting the phone the module list will be re-created?
Click to expand...
Click to collapse
Do you want to permanently disable the module that causes the issue or do you want to use the module again after reboot?
In the first case, you can delete the corresponding module by using the in-build file manager of your recovery. Just navigate to /data/app and delete the module's folder. Done.
Otherwise, you only have the limited options presented to you (but I don't know why someone would continue using a module that is causing issues again and again).

orville87 said:
Do you want to permanently disable the module that causes the issue or do you want to use the module again after reboot?
In the first case, you can delete the corresponding module by using the in-build file manager of your recovery. Just navigate to /data/app and delete the module's folder. Done.
Otherwise, you only have the limited options presented to you (but I don't know why someone would continue using a module that is causing issues again and again).
Click to expand...
Click to collapse
Hi, I agree!
However, when a module "fails" I don't like to uninstall it... I like only to disable it. Why? Because I like to contact with the author and try fix the bug. Sometimes the problem is an update, o some other times the module is part of an App that has another functionalities. Then the best option is disable the module and not uninstall/remove it.
So, my concern is related to the best option to fix a bootloop when a module is creating some interference. Until now my best option is disable the Xposed framework, but here the recomendation is disable the load of modules. In this last case, I need to know if this file is re-created by the Xposed framework. And however, I feel is a good recomendation to enable the UI of the modules when the framework is disabled... the current behaviour is annoying.
Regards!

manos78 said:
Hi, I agree!
However, when a module "fails" I don't like to uninstall it... I like only to disable it. Why? Because I like to contact with the author and try fix the bug. Sometimes the problem is an update, o some other times the module is part of an App that has another functionalities. Then the best option is disable the module and not uninstall/remove it.
So, my concern is related to the best option to fix a bootloop when a module is creating some interference. Until now my best option is disable the Xposed framework, but here the recomendation is disable the load of modules. In this last case, I need to know if this file is re-created by the Xposed framework. And however, I feel is a good recomendation to enable the UI of the modules when the framework is disabled... the current behaviour is annoying.
Regards!
Click to expand...
Click to collapse
Ah, I see your point there. Well, I have some thoughts about another possibility. I haven't tried it yet, so no guarantee can be given if this will work. But before updating a module, you could backup the folder of the module from /data/app and place it's backup folder somewhere else. Then update the module and reboot. When facing a bootloop, just use the recovery file manager to replace the new files of the module with the old ones and reboot. This way one does not have to disable all modules or even disable/uninstall the entire framework.

orville87 said:
This way one does not have to disable all modules or even disable/uninstall the entire framework.
Click to expand...
Click to collapse
Yes, but I like the most simple option: At time, I do this when bootloop:
a) Reboot to recovery.
b) Open Aroma File Manager.
c) Rename "_disabled" to "disabled" in the xposed/config directory
d) Reboot
And when the device boots, I like to "disable" in the Xposed App... the problem is the UI... it disables interaction when the framework ins't loaded. From my point of view is a mistake! Why force this? Any reason that I don't view?
Another option is remove the file with the list of modules, but I don't know if the Xposed App recreates this file after boot, and if it's maintains the selected/unselected list of modules (normally I have some modules installed but disabled... think on Apps with Xposed add-ons that I don't like to use!).
Any comment?

manos78 said:
Yes, but I like the most simple option: At time, I do this when bootloop:
a) Reboot to recovery.
b) Open Aroma File Manager.
c) Rename "_disabled" to "disabled" in the xposed/config directory
d) Reboot
And when the device boots, I like to "disable" in the Xposed App... the problem is the UI... it disables interaction when the framework ins't loaded. From my point of view is a mistake! Why force this? Any reason that I don't view?
Another option is remove the file with the list of modules, but I don't know if the Xposed App recreates this file after boot, and if it's maintains the selected/unselected list of modules (normally I have some modules installed but disabled... think on Apps with Xposed add-ons that I don't like to use!).
Any comment?
Click to expand...
Click to collapse
When you have deleted the module list from recovery, Xposed will not create a new list after the following boot process. You have to open Xposed Installer and disable/enable a module, then reboot. This time, Xposed will create a new module list (with exactly the modules states they had before deleting the module list file apart from the last modification you have done to trigger this recreation) and you are free to go. Nevertheless, a cumbersome solution.
I have no idea why one isn't able to interact with the checkboxes, but my best bet would be to prevent the user from thinking that Xposed is indeed active and modules are not working despite being enabled.

orville87 said:
I have no idea why one isn't able to interact with the checkboxes, but my best bet would be to prevent the user from thinking that Xposed is indeed active and modules are not working despite being enabled.
Click to expand...
Click to collapse
Ok. I understand this point... with this the user don't be confused.
So, why not add one option menu in the screen of modules for "enable changes" when the framework is disabled? This option implies "the framework is disabled, but you can change the options". This be user friendly and powerful at time.
What you think?

manos78 said:
Ok. I understand this point... with this the user don't be confused.
So, why not add one option menu in the screen of modules for "enable changes" when the framework is disabled? This option implies "the framework is disabled, but you can change the options". This be user friendly and powerful at time.
What you think?
Click to expand...
Click to collapse
Might be a good point, but you have to ask rovo89 for feature requests. But I highly doubt that he will implement such thing.

orville87 said:
Might be a good point, but you have to ask rovo89 for feature requests. But I highly doubt that he will implement such thing.
Click to expand...
Click to collapse
Well, I hope Rovo89 will read this and agree to implement... it's a very simple change in the UI. :fingers-crossed:

manos78 said:
Hi,
Note: Yes, is posible to manually change the "/conf/modules.list" file from the recovery, but this is more complicated.
Click to expand...
Click to collapse
Not really complicated. If you've access to ADB simply do
Code:
adb shell sed -i '/.*PACKAGE.*/d' /data/data/de.robv.android.xposed.installer/conf/modules.list
adb shell sed -i '/.*PACKAGE.*/d' /data/data/de.robv.android.xposed.installer/shared_prefs/enabled_modules.xml
Change PACKAGE with the package name of the app.
The first command would disable only the module, not the framework, not the rest of the modules. The second command would make sure that when you open the Xposed app -> Modules, your module shows up as unchecked. The second command is not important but it is good to keep confusion at a distance.
If you don't have access to PC always, you can keep a script inside your sdcard or `/data` as
Code:
#!/bin/sh
sed -i '/.*PACKAGE.*/d' /data/data/de.robv.android.xposed.installer/conf/modules.list
sed -i '/.*PACKAGE.*/d' /data/data/de.robv.android.xposed.installer/shared_prefs/enabled_modules.xml
If you've TWRP, you can edit the file to change the package name and run the script without the need of a PC.

nomap_here said:
If you've TWRP, you can edit the file to change the package name and run the script without the need of a PC.
Click to expand...
Click to collapse
Thank you!
But quite complex! I prefer to "touch disable" for disable Xposed (fail safe boot mode) and in the UI of the App (when the Xposed is disabled) then enable/disable the ofending module. I feel is MORE SIMPLE and INTUITIVE!
I hope Tovo read this and change the UI. :fingers-crossed:

Related

[WORKAROUND][Xposed for Android 5.1] Make ~99% of modules work.

This has been fixed xda post​Note: This is a temporary solution until someone fixes this in Xposed. Also I use my module "SnapColors" as a example throughout this post but this fix should for work any module. I've tested it with other modules and it works. If the module did not previously work on 5.0 then ignore this post and continue on with life.
TL;DR Version:
I found a temporary solution of getting modules to work on 5.1 for modules that worked on 5.0 but don't work on 5.1.
Non-TL;DR Version: Backstory and how I found his temporary solution
So a couple days ago I decided to start working on bring my module(s) to Xposed running on 5.1. In doing so what I noticed with a lot of the modules they seem to crash the app without throwing any kind of error whatsoever. Take for example one of my modules "SnapColors", if SnapColors was enabled in Xposed Installer SnapChat would always crash without throwing any error it wouldn't even say anything along the lines of "process has stopped unexpectedly" it would just close the app. So because of this behavior it led me to believe something was wrong with Xposed and not with my module(s). So I went thought what could be broken in Xposed thats causing this because 5.0 is just one up to 5.1 so the changes couldn't be that big. I went though the things that could cause this and came across "dalvik-cache" I remember reading somewhere Xposed makes some changes to the cache file (.dex) thats created during the creation of dalvik-cache files. So then I thought what if in 5.1 a small change was made to the process of making the dalvik cache files and thats what is causing the problem. So I decided to delete the dalvik cache file for SnapChat which is what my module was hooking into, then I tried opening SnapChat again but it crashed so I tried opening it again and what do you know it opened without any problems with my module fully working without any problems. The fix was kind of a guess too.
The fix/Solution
Note: If you reboot your device you have to do the fix again. Also you are deleting the dalvik cache so you won't benefit from it any more for the app(s) you delete it for. Unless you reboot then everything gets reverted.
What you have to do is delete the dalvik cache file for the app the module is for.
Example: SnapColors a module for SnapChat, so we have to delete the dalvik cache file for SnapChat.
What you need:
1) A file manager with root access, or terminal knowledge.
2) Package name example for SnapChat its "com.snapchat.android". How to get the package name look below theres a how to.
Steps for deleting the cache file:
Make sure the app is not running in the background close it if it is.
Method 1) Via terminal command:
Code:
cd /data/dalvik-cache/arm/ && rm [email protected]@"package name here without the quotes"*
Example command for SnapChat would be don't forget the "*" at the end:
Code:
cd /data/dalvik-cache/arm/ && rm [email protected]@com.snapchat.android*
Method 2) Via file manager: Navigate to /data/dalvik-cache/arm/ look for a file starting with the name [email protected]@"package name here without the quotes".apk delete this file and thats it.
Now try and open the app if it doesn't work close the app then try opening it again. make sure that apps not running in the background before trying again.
Getting package name
Via terminal command:
Code:
ls /data/data/ | grep "the app name here without quotes"
Via app: Install https://play.google.com/store/apps/details?id=com.electricsheep.asi
Open it-> Apps tab-> Tap the app-> look for "Package name:" should be the first thing.
Great job figuring that out! I hope @romracer takes a look at it and releases an update with permanent fix
mmamedov said:
Great job figuring that out! I hope @romracer takes a look at it and releases an update with permanent fix
Click to expand...
Click to collapse
Yup. I wish I could help but my knowledge of c++ is limited.
Why are apps on 5.1 creating this dalvik file if the runtime is ART?
r25txe said:
Why are apps on 5.1 creating this dalvik file if the runtime is ART?
Click to expand...
Click to collapse
The files are used by art despite the name of the folder "dalvik-cache". I think don't quote me on that.
Subscribed
sent from your moms phone
Can I get gravitybox to work?
Sent from my Nexus 5 using XDA Free mobile app
Programming4life said:
Yup. I wish I could help but my knowledge of c++ is limited.
Click to expand...
Click to collapse
Enough knowledge to help me out on twitter ALLLL the time! Lol
Great Finding. Thanks for the info.
Any chance of getting work Xposed GEL setting with CM12.1 Android 5.1
Thanks
lolzas said:
Can I get gravitybox to work?
Sent from my Nexus 5 using XDA Free mobile app
Click to expand...
Click to collapse
For module related stuff post on there thread. Getting modules to work is on the dev of the module.
mjrifath said:
Great Finding. Thanks for the info.
Any chance of getting work Xposed GEL setting with CM12.1 Android 5.1
Thanks
Click to expand...
Click to collapse
For module related stuff post on there thread. Getting modules to work is on the dev of the module.
Another step into 5.1 with xposed.. Only needs rovo magic Touch.. Thanks for it...
Programming4life said:
For module related stuff post on there thread. Getting modules to work is on the dev of the module.
Click to expand...
Click to collapse
So can you tell us what are those 95% modules for xposed on Lolli 5.1?
Can you give us some examples what modules are working on your smart phone with your metods?
Thanks...
spaxon said:
So can you tell us what are those 95% modules for xposed on Lolli 5.1?
Can you give us some examples what modules are working on your smart phone with your metods?
Thanks...
Click to expand...
Click to collapse
I said ~95% because some modules need to be updated strictly for lollipop and won't work no matter what. Its more like 99% but 95% just in case.
Programming4life said:
The fix/Solution
Note: If you reboot your device you have to do the fix again. Also you are deleting the dalvik cache so you won't benefit from it any more for the app(s) you delete it for. Unless you reboot then everything gets reverted.
Click to expand...
Click to collapse
Something I dont understand, for almost every module in xposed on every version of android, you must enable that module in xposed and reboot smartphone to get it work... is it true?
I have tried Gravitybox LP and some more modules like Flat Style Bar Indicators, with deleting them in /data/dalvik-cache/arm/ but they dont work at all, i have tried couple of times starting them.
Also I tried deleting them in twrp file manager and I have bootloop (but no worries I deleted those modules and started the phone )
Am I doing something wrong?
spaxon said:
Something I dont understand, for almost every module in xposed on every version of android, you must enable that module in xposed and reboot smartphone to get it work... is it true?
I have tried Gravitybox LP and some more modules like Flat Style Bar Indicators, with deleting them in /data/dalvik-cache/arm/ but they dont work at all, i have tried couple of times starting them.
Also I tried deleting them in twrp file manager and I have bootloop (but no worries I deleted those modules and started the phone )
Am I doing something wrong?
Click to expand...
Click to collapse
After installing a module you must enable it and then do a reboot/soft reboot yes that is true. Gravitybox LP and Flat Style Bar Indicators both modify the android system itself so theres nothing we can really do until someone fixes this bug in Xposed's code.
What if we modify the permissions or the file itself so we don't have to constantly delete it upon reboots?
Sent from my Nexus 5 using Tapatalk
Youtube background playback don`t works with that method
FuMMoD said:
What if we modify the permissions or the file itself so we don't have to constantly delete it upon reboots?
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
Android doesn't like it when the permissions are changed for a cache file so it'll just fc the app.
jabarel said:
Youtube background playback don`t works with that method
Click to expand...
Click to collapse
Worked for me you may have a out dated version of YouTube or YouTube background.

Xposed installation tutorial ?

Hi there!
I have a Z3C but the D5833 version, I am already rooted and on this ROM
http://forum.xda-developers.com/z3-...5833-lollipop-pre-rooted-xzdr-2-8-14-t3091372
Would someone mind helping me get Xposed on my phone ? Is it secure now? I know it wasn't some months ago... thanks very much for all help
Copy latest xposed.zip for your processor and android version into internal memory or sdcard, then copy the latest xposed apk ( these two files can be found on the xposed topic). Reboot to recovery. Flash the zip file. Reboot. Install the xposed apk. Reboot again. Open xposed installer and download and install modules.
vibecatalin said:
Copy latest xposed.zip for your processor and android version into internal memory or sdcard, then copy the latest xposed apk ( these two files can be found on the xposed topic). Reboot to recovery. Flash the zip file. Reboot. Install the xposed apk. Reboot again. Open xposed installer and download and install modules.
Click to expand...
Click to collapse
I just made it, download and install some module, but how do I know it is works?? Coz nothing changes, for example i download modules for enable double tap on status bar for lockscreen, but it nothing change nor I can't fine setting tools to do that, my next request was, how to put sound notification (to make sound/vibrate) at notification toogles? Thanks before mate
AndriyeZ said:
I just made it, download and install some module, but how do I know it is works?? Coz nothing changes, for example i download modules for enable double tap on status bar for lockscreen, but it nothing change nor I can't fine setting tools to do that, my next request was, how to put sound notification (to make sound/vibrate) at notification toogles? Thanks before mate
Click to expand...
Click to collapse
You also have to enable the module after installing it. Go to "Modules" section and tick the one you want to use. But also the module may just not work with our phones, not all of them are 100% compatible.
About sound notification - you should try Gravity Box lollipop edition, it has MANY customizations and you'll also find what you need, even double tap to lock
romcio47 said:
You also have to enable the module after installing it. Go to "Modules" section and tick the one you want to use. But also the module may just not work with our phones, not all of them are 100% compatible.
About sound notification - you should try Gravity Box lollipop edition, it has MANY customizations and you'll also find what you need, even double tap to lock
Click to expand...
Click to collapse
Thanks mate, it solved by installing Xperia Xposed LP by Serajr..

lockscreen disabler for magisk

I'm looking for a module to be created, or if I could do it not sure. Something to do the same as "lockscreen disabler" did in Xposed. Willing to donate. App in question for exchange email is "Email MOTOEMAIL.00.05.0072". Currently running XT1254, 6.0.1, stock rom. Thank you.
Shtiff1 said:
I'm looking for a module to be created, or if I could do it not sure. Something to do the same as "lockscreen disabler" did in Xposed. Willing to donate. App in question for exchange email is "Email MOTOEMAIL.00.05.0072". Currently running XT1254, 6.0.1, stock rom. Thank you.
Click to expand...
Click to collapse
maybe it is enough if you download the module-template edit config.sh and module.prop to an ID if your choice and in config.sh also the REPLACE part with /system/app or priv-app/Lockscreen/ ?
something like this maybe? but here ends my know-how
Shtiff1 said:
I'm looking for a module to be created, or if I could do it not sure. Something to do the same as "lockscreen disabler" did in Xposed. Willing to donate. App in question for exchange email is "Email MOTOEMAIL.00.05.0072". Currently running XT1254, 6.0.1, stock rom. Thank you.
Click to expand...
Click to collapse
First, that's not a donation you're talking about, it's a bounty.
Second, if it can't be done without Xposed, it can't be done with Magisk. So don't hold your breath.
wiQbold said:
maybe it is enough if you download the module-template edit config.sh and module.prop to an ID if your choice and in config.sh also the REPLACE part with /system/app or priv-app/Lockscreen/ ?
Click to expand...
Click to collapse
What? I don't think you understand what the REPLACE part of the config.sh file does.
During installation, that little entry puts a file called "replace" in each folder listed, in the module folder structure. Every time Magisk mounts a module and finds that file it will completely wipe (systemlessly, of course) the corresponding folder in /system.
If you want to replace a file on your device with one you've edited, all you have to do is to put that file in the module zip, under the same folder structure it can be found on your device. After that Magisk's Magic Mount will do it's thing...
Didgeridoohan said:
First, that's not a donation you're talking about, it's a bounty.
Second, if it can't be done without Xposed, it can't be done with Magisk. So don't hold your breath.
What? I don't think you understand what the REPLACE part of the config.sh file does.
During installation, that little entry puts a file called "replace" in each folder listed, in the module folder structure. Every time Magisk mounts a module and finds that file it will completely wipe (systemlessly, of course) the corresponding folder in /system.
If you want to replace a file on your device with one you've edited, all you have to do is to put that file in the module zip, under the same folder structure it can be found on your device. After that Magisk's Magic Mount will do it's thing...
Click to expand...
Click to collapse
right. my consideration was to wipe the lockscreen folder in system to disable it
wiQbold said:
right. my consideration was to wipe the lockscreen folder in system to disable it
Click to expand...
Click to collapse
Ok. In that case I believe you haven't quite understood the request...
Didgeridoohan said:
Ok. In that case I believe you haven't quite understood the request...
Click to expand...
Click to collapse
that could be true. do not have any device older then nougat and can t try the xposed-module.
thought it disable only the lockscreen.
wiQbold said:
that could be true. do not have any device older then nougat and can t try the xposed-module.
thought it disable only the lockscreen.
Click to expand...
Click to collapse
From what I can tell it disables the lockscreen while tricking apps that require a lockscreen into thinking it's enabled.
Easy-ish with Xposed, impossible with Magisk unless you manually edit the app in question to not detect the lockscreen state and then use a Magisk module to mount it to your device.
Didgeridoohan said:
From what I can tell it disables the lockscreen while tricking apps that require a lockscreen into thinking it's enabled.
Easy-ish with Xposed, impossible with Magisk unless you manually edit the app in question to not detect the lockscreen state and then use a Magisk module to mount it to your device.
Click to expand...
Click to collapse
That is correct. When i opened phone before it just had swipe up to open. Now I have to enter lock code every time. I haven't done anything with adb before, always do everything from the phone. I've seen the apk "exchangenopin" but I can't try it, cause I can't download the apk anywhere. Those from other thread seem to go to ad sites. I figured that it wouldn't of been that difficult because the exchangenopin "supposedly" works w/o Xposed. That's why I was hoping for a module. I found something to replace my "insert custom text" module from Xposed, now just need something to replace for lockscreen. Lol. Liking Magisk though.
I experienced the same problem with my realme 5i smartphone, I tried to install the latest Magisk via the OrangeFox recovery because I had never rooted my smartphone before. but I have installed pixel 5 archipelago project. In this case, after installing magisk and successfully entering the lockscreen, here the problem occurs because I can't enter the lockscreen PIN and can't do anything, I can't even turn off my phone. But here I found a solution, namely using a google account and trying to wipe data via the Google Play application, namely find my devices and then delete it there and it worked for me

[Dev Help] Is it possible to run an "uninstall script" when removing a module?

[Dev Help] Is it possible to run an "uninstall script" when removing a module?
Hey all. I'm working on a module, and I'm planning on using the late-start service to make some changes to the system to detach the app I'm including in the module from the Play Store to prevent accidental updates or a persistent update nag. This part is working fine. The part I'm having troubles with is the uninstall portion. When removing the module, the changes persist since they weren't systemless. So, my question is this: is it possible to have Magisk run an "uninstall script" when it has been marked for deletion? I've done some digging through the documentation and haven't found anything indicating this is possible, but I'm hoping it's either an undocumented feature or somebody will know a way to achieve the same effect.
You could let the module also install a boot script in post-fs-data.d or service.d (service.d is preferred, but if that doesn't work try post-fs-data.d). Let that script look for the module folder in /magisk. If it isn't found, let the script revert the changes and then delete itself.
Didgeridoohan said:
You could let the module also install a boot script in post-fs-data.d or service.d (service.d is preferred, but if that doesn't work try post.fs.data.d). Let that script look for the module folder in /magisk. If it isn't found, let the script revert the changes and then delete itself.
Click to expand...
Click to collapse
You mean in Magisk's core? Yeah, that's a good idea, and probably easily implemented.
Ssayerr said:
You mean in Magisk's core? Yeah, that's a good idea, and probably easily implemented.
Click to expand...
Click to collapse
Yes, in /magisk/.core. It's quite simple, but it works... :good:
Didgeridoohan said:
Yes, in /magisk/.core. It's quite simple, but it works... :good:
Click to expand...
Click to collapse
Cool, I'll give it a shot. Any tricks to getting stuff to run in the core, or do I just drop it in?
Ssayerr said:
Cool, I'll give it a shot. Any tricks to getting stuff to run in the core, or do I just drop it in?
Click to expand...
Click to collapse
Don't forget to set the correct permissions on the script or it won't execute... Other than that it's just to drop it in service.d or post-fs-data.d, whichever one fits your needs.
Didgeridoohan said:
Don't forget to set the correct permissions on the script or it won't execute... Other than that it's just to drop it in service.d or post-fs-data.d, whichever one fits your needs.
Click to expand...
Click to collapse
Great, I'll see what I can do with it. Many thanks for the advice!
You could check the file called "remove" in the module folder.
Deic said:
You could check the file called "remove" in the module folder.
Click to expand...
Click to collapse
Unless the "remove" file itself can be set up to run a script, that wouldn't work. If that file is present, the module as a whole would be gone before my script would run. I'm currently planning on just having a script check for the existence of the module itself, once I have time to mess with it some more.
Ssayerr said:
Unless the "remove" file itself can be set up to run a script, that wouldn't work. If that file is present, the module as a whole would be gone before my script would run. I'm currently planning on just having a script check for the existence of the module itself, once I have time to mess with it some more.
Click to expand...
Click to collapse
Must keep in background a loop to check the existence of that file obviously. So in your module script for example:
Code:
background function() {
while :; do
[ -f /magisk/$MODDIR/remove ] && {
#here the stuff you want to do
break
}
sleep 1
done
}
background &
Ssayerr said:
Hey all. I'm working on a module, and I'm planning on using the late-start service to make some changes to the system to detach the app I'm including in the module from the Play Store to prevent accidental updates or a persistent update nag. This part is working fine. The part I'm having troubles with is the uninstall portion. When removing the module, the changes persist since they weren't systemless. So, my question is this: is it possible to have Magisk run an "uninstall script" when it has been marked for deletion? I've done some digging through the documentation and haven't found anything indicating this is possible, but I'm hoping it's either an undocumented feature or somebody will know a way to achieve the same effect.
Click to expand...
Click to collapse
Didgeridoohan said:
You could let the module also install a boot script in post-fs-data.d or service.d (service.d is preferred, but if that doesn't work try post-fs-data.d). Let that script look for the module folder in /magisk. If it isn't found, let the script revert the changes and then delete itself.
Click to expand...
Click to collapse
My Unity (Un)Installer has this includes.
Essentially you can run a .core service.d script to delete any left over files such as scripts if the conditional says that the specified mod folder does not exist, and then have the script delete itself once done.
https://github.com/therealahrion/Audio-Modification-Library
This isn't just for AML or audio projects, as it uses the Unity Installer.
Deic said:
Must keep in background a loop to check the existence of that file obviously. So in your module script for example:
Click to expand...
Click to collapse
It doesn't have to be that complicated.
ahrion said:
It doesn't have to be that complicated.
Click to expand...
Click to collapse
Sure, the Unity stuff (Copyrigth © 1337 Canonical Ltd.) is lesser complicated than a few basic command lines in the module script.
Sarcasm intended.
Deic said:
Sure, the Unity stuff (Copyrigth © 1337 Canonical Ltd.) is lesser complicated than a few basic command lines in the module script.
Sarcasm intended.
Click to expand...
Click to collapse
That was not my intention. Lol I knew that was gonna happen. Unity has a lot of features that allows people to make quick edits without having to touch the update-binary.
I was using the /common/moddid-service.sh as an example.
Here's a more refined example minus Unity mumbo jumbo:
if [ ! -d /magisk/$MODID ]; then
rm -f /magisk/.core/service.d/$MODID.sh
fi
ahrion said:
My Unity (Un)Installer has this includes.
Essentially you can run a .core service.d script to delete any left over files such as scripts if the conditional says that the specified mod folder does not exist, and then have the script delete itself once done.
https://github.com/therealahrion/Audio-Modification-Library
This isn't just for AML or audio projects, as it uses the Unity Installer.
Click to expand...
Click to collapse
I do the same on a couple of my own modules. Post-fs-data.d or service.d scripts that doesn't run if the disable file is present in the module folder and cleans up and deletes itself if the folder isn't found, etc. It's really handy...

LiveBoot module not working on Nougat?

So I've been using the LiveBoot module from this post on MM, but today I've updated to Nougat and it does not seems to work. Does anyone knows something about this?
I think the LiveBoot app do work, can anyone confirm?
Thanks.
eXtremeDevil said:
So I've been using the LiveBoot module from this post on MM, but today I've updated to Nougat and it does not seems to work. Does anyone knows something about this?
I think the LiveBoot app do work, can anyone confirm?
Thanks.
Click to expand...
Click to collapse
you can get it working pretty easilyg without a module having to be installed, just install it like a normal app on your phone and then put the file it makes after it installs into the magisk.img (while its mounted) in the post-fs-data folder.
It will look like this:
/magisk/.core/post-fs-data.d/0000liveboot
the contents of my working 0000liveboot script is:
#!/system/bin/sh
/system/bin/sh /data/user_de/0/eu.chainfire.liveboot/files/liveboot &
If for any reason the file called is not in that spot, you'll gave to find it manually and change the script to reflect where it is on your particular phone. Possible locations might be /data/user/0/ or /data/data/
Best case is you can just use the 0000liveboot script exactly like I have it. Try that first. If you have no log overlay next boot, you'll have to did where the I installed liveboot app you have is keeping its data and simply change the script so it reflects wherever you find it, then try rebooting again and it should work!
I should mention I'm using v1.60 of chainfire's app
the attachment here is just the script that I know works, just in case anyone wants it.
Sent from my LG V20 using XDA Labs
Thanks, I'll try and tell you. And nice signature by the way haha
I installed the app but I can't go further if I don't allow the installation of the script in the system partition, and that's what I'm trying to avoid…
Sent from my ONE A2003 using Tapatalk
eXtremeDevil said:
I installed the app but I can't go further if I don't allow the installation of the script in the system partition, and that's what I'm trying to avoid…
Sent from my ONE A2003 using Tapatalk
Click to expand...
Click to collapse
Try the init.d linker module in the Magisk repo (in Downloads in the Manager).
Didgeridoohan said:
Try the init.d linker module in the Magisk repo (in Downloads in the Manager).
Click to expand...
Click to collapse
How? I don't know exactly what you mean
eXtremeDevil said:
How? I don't know exactly what you mean
Click to expand...
Click to collapse
All the LiveBoot app needs is a working init.d. If your ROM doesn't have that already, the easiest way to achieve this with Magisk is to symlink /magisk/.core/post-fs-data.d to /system/etc/init.d.
I haven't tried it myself, but you should simply be able to install the init.d linker module, reboot, install LiveBoot and then let it do it's thing. Nice and systemless.
Reading your previous posts again I see that the app already has asked to install the script, meaning you already have init.d support. Why not just let it install the script? If you have init.d you don't have to worry about official OTAs anyway and it is very unlikely it'll trip SafetyNet (if that's what you're worried about). Or, just use the above mentioned module.
OK, I installed the app, let it do it's thing, then moved the script from init.d folder to post-fs-data.d magisk folder, created a symlink back to init.d folder so the app doesn't complain about script not installed (and also to be able to edit its settings), rebooted and it's working again!
Thanks so much for the help
eXtremeDevil said:
OK, I installed the app, let it do it's thing, then moved the script from init.d folder to post-fs-data.d magisk folder, created a symlink back to init.d folder so the app doesn't complain about script not installed (and also to be able to edit its settings), rebooted and it's working again!
Thanks so much for the help
Click to expand...
Click to collapse
Hi,
I am sorry , I am not able to find the init.d folder and post-fs-data folder.could you please guide me with the full path for these.Thank you.
Rhaegar85 said:
Hi,
I am sorry , I am not able to find the init.d folder and post-fs-data folder.could you please guide me with the full path for these.Thank you.
Click to expand...
Click to collapse
You have Magisk installed? The full path is /magisk/.core/post-fs-data.d
Sent from my ONE A2003 using Tapatalk
eXtremeDevil said:
You have Magisk installed? The full path is /magisk/.core/post-fs-data.d
Click to expand...
Click to collapse
Thanks.Yes, I have. Found the path and managed to create a symlink, still not working. I used sdmaid to move files and Mount the partition and terminal to symlink.I am using MI 5 Gemini with ViperOS 3.1. Can this be done on my device?
Do you have LiveBoot installed? Does it work on it's own? What do you mean by mounting? I didn't need to mount anything.
The init.d path is /system/etc/init.d.
That's where the liveboot script should place itself once the app installs. That's the first step, do you have it there? Does it work?
Thanks.
eXtremeDevil said:
Do you have LiveBoot installed? Does it work on it's own? What do you mean by mounting? I didn't need to mount anything.
The init.d path is /system/etc/init.d.
That's where the liveboot script should place itself once the app installs. That's the first step, do you have it there? Does it work?
Thanks.
Click to expand...
Click to collapse
Thanks for your help. Yes, I had the file on that path. It was not working even after moving the 0000liveboot file to magisk/.core/post-data-fs.d. I have now done a clean install of Viper with SuperSU rather than magisk. And now it's working like a charm. I never had the liveboot working with Magisk except for test run. Thanks for your help.
eXtremeDevil said:
You have Magisk installed? The full path is /magisk/.core/post-fs-data.d
Click to expand...
Click to collapse
Hi,
Yes, sorry, I moved the file to magisk/.core/post-fs-data.d, and created a symlink as well, but it was not working. And I really don't want to leave viper or liveboot either, so I installed SuperSU. But can this be done using Magisk? I am using mi5 Gemini, Viper OS 3.1.1. Thank you again.
eXtremeDevil said:
Do you have LiveBoot installed? Does it work on it's own? What do you mean by mounting? I didn't need to mount anything.
The init.d path is /system/etc/init.d.
That's where the liveboot script should place itself once the app installs. That's the first step, do you have it there? Does it work?
Thanks.
Click to expand...
Click to collapse
Ha! Finally it's working now on magisk . I copied the liveboot file in magisk directory and installed init.d linker on magisk. Instead of creating a symlink using terminal, just moved the initlinker.sh file to the original source and Bingo! Thank you very much mate. I almost lost hope using liveboot with magisk. It was possible for you, THANK YOU?
(Magisk 15.1 / init.d enabler v2.2 , LiveBoot v1.6 )
I can also confirm that the Official Liveboot v1.60 from Playstore in combination with Magisk 15.1 works as soon as it finds a working /system/etc/init.d.
The Linker Modul does its job as expected by Didgeridoohan.
The Test Run works perfect.
When i boot up the phone i can see that Liveboot starts, as the screen is flickering shortly in the transition from Boot-Bootscreen and System-Bootscreen (same logo).
But the scrolling liveboot log itsself just shows up for half a second, when the boot screen switches to "home" respective Lockscreen respective the launcher.
From the previous state (SuperSu/Magisk 12) i know thats it is supposed to appear very soon on the screen.
The liveboot option "overlay on top of the boot animation" changes the appearance of that mentioned half second, but not the timing of the appearance.
Any ideas ? Which Logs ?
Thanks, Greets and a happy 2018
Just put the (liveboot) script in /magisk/.core/service.d, works like a charm.
Confirmed !
Now works like expected. Thank you !
Any way to get this to work on pixel 2 xl ? I tried the above and it fails The closest ive gotten so far is the google logo changed to an android one and the test on the liveboot app works.
Im confused I tried all the steps again but from fromflash fire and it failed, but flash fire itself reboots and scrolls the catlog while its flashing. ( think it reboots twice )

Categories

Resources