• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

LSPosed Xposed Framework [8.0-12.0]. Simple Magisk Module, EdXposed Alternative.

What Xppsed Framework are You Using??


  • Total voters
    629
Search This thread

ayush.gl

Senior Member
May 9, 2015
1,045
411
Developers: LSPosed Developers
Homepage: GitHub
Requirements:
• Magisk 21+
• Android 8-11 [Android 12(experimental)]

Riru
Description: Riru module providing ART interception framework (natively for Android Pie) that provides consistent API -interfaces with OG Xposed, using YAHFA (or SandHook) interception environment, supports Android 8.0 ~ 11.
& Installation:
• Install Riru 23+
• Install Riru - LSPosed via Magisk Manager
Install LSPosed Manager app (Note: No Saparate App and Zip, App Will be Installed Automatically)
• Reboot your device.

Download:
For stable release, please go to Github Release page For canary build use telegram.
Go to second post for latest version Download

Notes:
I'm just sharing this from github, I'm not responsible if you bricked your device.

GPay and other banking apps working fine without any issue so this xposed alternative is worth trying and safer.

Note: If anyone facing bootloop issue, don't panic, hard reboot again and it will work.


Screenshot:
 

Attachments

  • Screenshot_2021-02-05-08-32-43-691_org.freeandroidtools.safetynettest.jpg
    Screenshot_2021-02-05-08-32-43-691_org.freeandroidtools.safetynettest.jpg
    221.7 KB · Views: 11,221
  • Screenshot_2021-02-05-08-24-28-856_io.github.lsposed.manager.jpg
    Screenshot_2021-02-05-08-24-28-856_io.github.lsposed.manager.jpg
    312.6 KB · Views: 11,033
  • Screenshot_2021-02-05-08-24-04-740_io.github.lsposed.manager.jpg
    Screenshot_2021-02-05-08-24-04-740_io.github.lsposed.manager.jpg
    147.4 KB · Views: 9,530
  • Screenshot_2021-02-05-08-24-24-821_io.github.lsposed.manager.jpg
    Screenshot_2021-02-05-08-24-24-821_io.github.lsposed.manager.jpg
    322.5 KB · Views: 8,831
  • Screenshot_2021-02-05-08-24-12-703_io.github.lsposed.manager.jpg
    Screenshot_2021-02-05-08-24-12-703_io.github.lsposed.manager.jpg
    208.2 KB · Views: 10,882
Last edited:

ayush.gl

Senior Member
May 9, 2015
1,045
411
Download:
Flash zip file through magisk and then install LSPosed Manager app

Update 1 March 2021
V1.2.0

V1.3.7 Updated 15.May.2021
(Note: No Saparate App and Zip, App Will be Installed Automatically)

Bump New Version v1.5.0 14.August.2021

Android 12 Supported(Experimental)

Changelog

  • Fix manager white screen
  • Support split-apk modules (LSPosed will choose only one apk with xposed_init to load)
  • Fix manager crash when launching an uninstalled module from notification
  • Load modules with SharedMemory (it can speedup app cold launch) 2
  • New manager icon
  • Fix incorrect update notification in the first installation
  • Fix some apps not showing in the scope list in some rare cases
  • Show notification of module uninstallation
  • Prevent modules from hooking inner methods (methods from XposedBridge's classloader)



Note:

Previously LSPosed only recognize modules from the primary user. However, this strategy is not good and leads to some problems: some modules require getting installed app lists for configuration but they cannot do so across users; some require reading themselves from the hooked apps but they cannot do so from non-primary users; some users want to configure modules differently on different users which is not feasible previously. Thus LSPosed now requires every module to be installed to the user on which the apps they want to hook are installed. Some devices restrict modules from installing onto some users. In such a case, you can install them from the manager (but it's recommended).

1: For some weird devices that prevent installing apps from the root user, please install the manager from /data/adb/lspd/manager.apk or manager.apk from the zip file manually.

2: Some modules get modules' apk path using reflection of its classloader, it's not recommended and unstable since the apk path from classloader no longer exists when using SharedMemory to load modules. Please use the documented way (from IXposedHookZygoteInit.StartupParam.modulePath) instead.
 

Attachments

  • LSPosed-v1.5.0-5880-release.zip
    1.8 MB · Views: 4,082
Last edited:

QkiZMR

Senior Member
Mar 21, 2011
609
129
Warsaw
Moto G5S Plus
Moto Z3 Play
This slowdown is caused by YAHFA hook in EdXposed. On Sandhook is much better. Which hook method you use in LSposed?
And +1 is safetynet passes all the time with LSPosed but, with edxposed safetynet works for some time after every reboot even with blacklisting google framework and services
SafetyNet works till google patched it no matter which xposed clone you use. Before last patch SN was working fine with EdXposed. I don't needed blacklisting framework and services because EdXposed manager is doing automatically, with special option enabled. So don't say lies about EdXposed but tell us about technical differences between LSposed and EdXposed. What you change after forking EdXposed repo?
 

fenrir_ac

Senior Member
Jun 21, 2014
142
60
I'm quite amazed that this edxposed alternative is running much better than edxposed itself on my android 11, aosp rom, redmi k30 pro zoom. Really glad that I came across this!

Thanks for the great and awesome work devs!
 

ayush.gl

Senior Member
May 9, 2015
1,045
411
  • Like
Reactions: amplatfus

whitehollow

Senior Member
Oct 14, 2010
152
10
Milano
Im trying to ask the scope list of my modules. Firefds minminguard hiddencore and hide mock location. Anybody can help for the whitelist ??
 

mrhamed

Senior Member
Apr 19, 2014
368
25
what does mean: "select other app for each module" ?
for example for "GravitiyBox" module, which app should be enable and why?!
 
Last edited:

ayush.gl

Senior Member
May 9, 2015
1,045
411
what does mean: "select other app for each module" ?
for example for "GravitiyBox" module, which app should be enable and why?!

Android System - android
Call - com.samsung.android.incallui
Camera - com.sec.android.app.camera
Contacts - com.samsung.android.contacts
Email - com.samsung.android.email.provider
Firefds Kit - sb.firefds.r.firefdskit
Messaging - com.samsung.android.messaging
MTP Application - com.samsung.android.MtpApplication
NFC - com.android.nfc
One UI Home - com.sec.android.app.launcher
Settings - com.android.settings
Smart Capture - com.samsung.android.app.smartcapture
Software Update - com.wssyncmldm
System UI - com.android.systemui

It also depends on what firmware you are using amd what features you've enabled in gravity box. Enable these according.

What I've enabled in miui are shown in image below.
 

Attachments

  • IMG_20210206_193757.jpg
    IMG_20210206_193757.jpg
    242.6 KB · Views: 1,773
  • Like
Reactions: mrhamed

disthomuc

Senior Member
Apr 1, 2014
88
27
a module based selection, what to hook seems a good approach of doing what you want and at the same time saving resources. a more advanced selectiin UI would be good. filter based on words and then select in the filtered list, select deselect all. in addition I have no idea what some modules are hooking like gravity box...this is just an example...I know I can find out however maybe the manager app can support to find out or tick what is recommended
 

HippoMan

Senior Member
May 5, 2009
1,737
587
Hippoland
I am trying LSposed on my OnePlus 7 Pro (GM-1917), OOS 10.3.8, Magisk 21.4, xXx 12.4.

I followed these instructions from the OP ...
• Install Riru 23+
• Install Riru - LSPosed via Magisk Manager
• Install LSPosed Manager app
• Reboot your device.

I got into what seems to be an infinite boot loop. I waited 3-5 minutes, but the boot loop continued.

Has anyone seen this behavior? If so, is there a workaround?

Thank you in advance.


UPDATE: I must have messed up one or more of the installation steps the first time around. I retried installing, and now LSPosed works for me with no boot loop.

OnePlus 7 Pro (GM-1917)
OOS 10.3.8
Magisk 21.4
Magisk Manager 8.0.7
xXx 12.4
Riru 23.4
LSPosed-v0.5.4.0-5135-release.zip (YAHFA)
LSPosedManager-v0.5.4.0-5175-release-signed.apk

Good work!

Onward!
 
Last edited:
  • Like
Reactions: okkvlt666

ayush.gl

Senior Member
May 9, 2015
1,045
411
I am trying LSposed on my OnePlus 7 Pro (GM-1917), OOS 10.3.8, Magisk 21.4, xXx 12.4.

I followed these instructions from the OP ...


I got into what seems to be an infinite boot loop. I waited 3-5 minutes, but the boot loop continued.

Has anyone seen this behavior? If so, is there a workaround?

Thank you in advance.
Working fine with OnePlus 7t latest beta. There might be some other issue. LSPosed doesn't seem to cause bootloop. Share logcat.
 
  • Like
Reactions: HippoMan

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    Magisk Canary v23014 released, with the following changelog:
    • Add module suspension state in Magisk app (riru/zygisk modules)
    As a result, Riru (and LSPosed) modules are in a suspended state, which makes them unusable. Currently using Riru v26.1.13 and LSPosed v1.6.3).
    Any new version of Riru and LSPosed that overcomes this challenge? Need them for USNF module and for continued usage of banking apps.
    Any help is appreciated, thanks! :)
    How about you stop updating Magisk.....go back to v23...problem solved. You are running into issues on a CANARY build guy....come on. Use what works. You're wlecome!
    3
    +1
    @Fif_

    Getting error code 0 - failed to read lsposed modules
    Trying this on a Samsung S9 lineage 18.1 ( A11 )

    Sorry if this a bit off topic
    The shell on your device spits out:
    shell-init: error retrieving current directory: getcwd: cannot access parent directories: Math result not representable
    job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Math result not representable
    when invoked. I'll see if I can work around this.
    [EDIT:] OP has been updated with a new version fixing this issue.
    3
    Haha I get where you're coming from... However, topjohnwu tweeted, saying that MagiskHide is now officially not working on v23 and below, which means that I need to update to the latest version, to work around with Zygisk and DenyList (and possibly use Riru and LSPosed, if that option doesn't work) for my banking apps. Nevertheless, thanks for the heads-up! Appreciate it! :)
    magiskhide is alive and well on v23 (23000), why would you even use anything else?
    2
    Any reports about using the latest LSPosed 1.6.3 with stable Magisk 23.0 and Riru?
    Stable here without any issues.
    2
    Probably the difference is I'm still using android 10 and you're on Android 12.

    For the camera, AFAIK XPivacyLua only restricts apps to determine the number of cameras the phone has, but it cannot stop the apps from activating the camera. I'm not sure with this though.
    On my Oneplus 5T on Android 9 the Lua restrictions on the camera work perefectly. The camera launches but the screen is black. When I want to use it I allow, use camera, sensors, record audio & video.

    On the Pixel 6 with A 12 with the same ristrictions the camera doesn't launch, even if you allow Lua permissions. You have to uninstall Magsik and go through the whole process again.
  • 52
    Developers: LSPosed Developers
    Homepage: GitHub
    Requirements:
    • Magisk 21+
    • Android 8-11 [Android 12(experimental)]

    Riru
    Description: Riru module providing ART interception framework (natively for Android Pie) that provides consistent API -interfaces with OG Xposed, using YAHFA (or SandHook) interception environment, supports Android 8.0 ~ 11.
    & Installation:
    • Install Riru 23+
    • Install Riru - LSPosed via Magisk Manager
    Install LSPosed Manager app (Note: No Saparate App and Zip, App Will be Installed Automatically)
    • Reboot your device.

    Download:
    For stable release, please go to Github Release page For canary build use telegram.
    Go to second post for latest version Download

    Notes:
    I'm just sharing this from github, I'm not responsible if you bricked your device.

    GPay and other banking apps working fine without any issue so this xposed alternative is worth trying and safer.

    Note: If anyone facing bootloop issue, don't panic, hard reboot again and it will work.


    Screenshot:
    19
    Download:
    Flash zip file through magisk and then install LSPosed Manager app

    Update 1 March 2021
    V1.2.0

    V1.3.7 Updated 15.May.2021
    (Note: No Saparate App and Zip, App Will be Installed Automatically)

    Bump New Version v1.5.0 14.August.2021

    Android 12 Supported(Experimental)

    Changelog

    • Fix manager white screen
    • Support split-apk modules (LSPosed will choose only one apk with xposed_init to load)
    • Fix manager crash when launching an uninstalled module from notification
    • Load modules with SharedMemory (it can speedup app cold launch) 2
    • New manager icon
    • Fix incorrect update notification in the first installation
    • Fix some apps not showing in the scope list in some rare cases
    • Show notification of module uninstallation
    • Prevent modules from hooking inner methods (methods from XposedBridge's classloader)



    Note:

    Previously LSPosed only recognize modules from the primary user. However, this strategy is not good and leads to some problems: some modules require getting installed app lists for configuration but they cannot do so across users; some require reading themselves from the hooked apps but they cannot do so from non-primary users; some users want to configure modules differently on different users which is not feasible previously. Thus LSPosed now requires every module to be installed to the user on which the apps they want to hook are installed. Some devices restrict modules from installing onto some users. In such a case, you can install them from the manager (but it's recommended).

    1: For some weird devices that prevent installing apps from the root user, please install the manager from /data/adb/lspd/manager.apk or manager.apk from the zip file manually.

    2: Some modules get modules' apk path using reflection of its classloader, it's not recommended and unstable since the apk path from classloader no longer exists when using SharedMemory to load modules. Please use the documented way (from IXposedHookZygoteInit.StartupParam.modulePath) instead.
    14
    I have it working on the Poco X3 NFC, running RR, loaded and runs without issue, I used the YAHFA option, has updated without issue.

    Thought I should add that I can't get SafetyNet on, but I've never been worried about that, I think I've only ever had it working once on one of my devices years ago. The one app that refused to play nice I just used MagiskHide on, and it's not a problem now.

    In saying that I only have one module loaded, I haven't had time to go looking for the below answers, to install any others.

    The only thing I haven't figured out yet is what apps need to be picked with what modules, sure some are obvious as they are named after the apps, but is there anything else that needs to be picked with them? For example, do I need to pick the framework app with everything, I'm sure I don't, but how do I know?
    I'm using YAHFA myself, even though I was using SandHook earlier with EdXposed. Also, I'm passing SafetyNet without an issue and Play Store shows certified as well, so that's nice.

    Coming to your question about "scope", basically for a module, you have to select the apps that are hooked by the module. This is pretty straightforward for modules that hook a specific app, for example, if you're using WATweaker, you have to select WhatsApp in its "scope". Similarly, another example, if you're using Instaprefs, you have to select Instagram in its "scope". However, for more systemwide module (like GravityBox, for example), multiple apps have to be selected in the "scope" as the module is more global in nature, so to speak.

    The only way to figure out which apps need to be added in scope for a module is to ask the module developer or by trial and error. Taking GravityBox as an example, you'll find the list of apps that need to be selected for its scope in the first post of its thread (under apps that need to be whitelisted; "whitelisted" term being used in context of EdXposed, since when the post was written, LSPosed wasn't a thing).

    Also, modules can auto-add recommended apps to their scope, but the responsibility of making that happen lies with the module developer. Once again, taking GravityBox as the example, if you install GravityBox in LSPosed, you don't have to select apps manually in its scope. They're auto-selected since the developer has added support for LSPosed and auto-selection of scope apps.

    I know the reply is long-ish, but I hope it helps you and the others who had similar questions. :)
    13
    Why it's safer than EdXposed?
    I didn't say it's safer than edxposed. I meant xposed alternatives like taichi etc.
    All banking apps works, no system slowdown, i got more free ram etc.
    In edxposed the hooked apps take time to open, no such issue with LSPosed.
    That's why i thought it's worth trying and safer.
    13
    I was considering that until I made an Automate flow to automatically add newly installed apps to select Xposed modules' scope.
    By popular request, this is my setup for automatically adding newly installed packages to some user-defined LSPosed scopes.

    [EDIT:] These instructions and the zip file have been updated on November 14, 2021.

    Requirements:
    Caveats:
    • LSPosed won't pick up the changes until the device is rebooted.
    Instructions:
    1. Unzip the attached LSPosed-Auto-Add.zip
    2. Create the /sdcard/usr/bin directories.
    3. Move lsposed-scopes-add from step 1 file to /sdcard/usr/bin. The file full path must be /sdcard/usr/bin/lsposed-scopes-add
    4. Move xposed-modules-status from step 1 file to /sdcard/usr/bin. The file full path must be /sdcard/usr/bin/xposed-modules-status
    5. Import LSPosed Auto Add.flo in Automate.
    6. After the flow is imported, grant all needed permissions.
    7. In the imported flow, start Configure. You should see a list of active LSPosed modules like the one seen on the attached screenshot.
    8. Toggle the modules as needed. If shown with a check mark, any newly added package will be added to the module's scope.
    9. Press Cancel to exit from the module list.
    10. Make sure that Automate is set to start at boot (in Automate settings).
    There should be two automate fibers running in the flow. If it stops for whatever reason, just start the Init flow.
    You can add and remove modules at any time by launching the Configure flow.

    Changes:
    • 2021-11-01: Provide missing script.
    • 2021-11-08: Force running scripts in / in Automate flow.
    • 2021-11-14: Also support parasitic manager.
    Thanks to @Open.Orange and @spawnlives for testing.