@rovo89: Some ideas & questions:
- For modules some sort of "priority" (maybe only "high") defined in the manifest.xml could be usefull. For HitchXposedLog I altered writing of modules.lst of Installer to load the moduel as first, to hook all other modules
- Some (user configurable?) depends on/loads before&after module xx. There are many modules for the right side of the status bar and the start order matters if you are using many of them
- Can you set writing XSharedPreferences to "deprecated" so it's better visible in Ssource code editor? I forget it again
- Just wondering: Why uses you API 15 hand have set targetSdkVersion to 15?
- Please enable FastScroll and add a indexer: https://github.com/rovo89/XposedInstaller/pull/220
@defim I have moved your post here because it was off-topic in the thread of the changes in the experimental version.
For modules some sort of "priority" (maybe only "high") defined in the manifest.xml could be usefull. For HitchXposedLog I altered writing of modules.lst of Installer to load the moduel as first, to hook all other modules
Click to expand...
Click to collapse
Ouch. I have to say I strongly dislike such modifications of the installer. The next one might just enforce their module to be activated or something. I'll have to think about whether I'm ok with having such a module in the repository... See also: https://github.com/rovo89/XposedBridge/issues/16
As for the priority: See https://github.com/rovo89/Xposed/issues/11. Your use-case is the first one which would really require this. In the way you request it (defined by the module author, not the user), it would be easier to realize, but what happens if multiple modules use this?
Some (user configurable?) depends on/loads before&after module xx.
Click to expand...
Click to collapse
See the issue I linked to. I don't believe that these modules would require a certain loading order if the were written with other modules in mind.
Can you set writing XSharedPreferences to "deprecated" so it's better visible in Ssource code editor? I forget it again
Click to expand...
Click to collapse
You mean the edit() method? I don't think it's usual to make unsupported methods deprecated (at least AOSP doesn't do it), but yeah, I could do that.
Just wondering: Why uses you API 15 hand have set targetSdkVersion to 15?
Click to expand...
Click to collapse
No big reasons, but when I started development, that was the latest version. I still have references to the hidden API functions, using the full set of framework classes for API15. I'm not sure about compatibility. And I don't see advantages of using the newer API, so I'll just keep 15.
Please enable FastScroll and add a indexer: https://github.com/rovo89/XposedInstaller/pull/220
Click to expand...
Click to collapse
See my comments over there. I don't think it makes sense.
rovo89 said:
I have moved your post here because it was off-topic in the thread of the changes in the experimental version.
Click to expand...
Click to collapse
I posted there, because i think the experimental release misses it.
rovo89 said:
Ouch. I have to say I strongly dislike such modifications of the installer. The next one might just enforce their module to be activated or something. I'll have to think about whether I'm ok with having such a module in the repository... See also: https://github.com/rovo89/XposedBridge/issues/16
Click to expand...
Click to collapse
As i wrote, it just changes the saving order, it does not enable itself.
But if the installed had such a priority fuinction it would not be needed.
And if Xposed had an option to enable timestamps in the log, the whole modules would be superfluous
rovo89 said:
As for the priority: See https://github.com/rovo89/Xposed/issues/11. Your use-case is the first one which would really require this. In the way you request it (defined by the module author, not the user), it would be easier to realize, but what happens if multiple modules use this?
Click to expand...
Click to collapse
It's the same question what would be if multiple notifications hav a "high" priority etc. Should only be used if really required
rovo89 said:
See the issue I linked to. I don't believe that these modules would require a certain loading order if the were written with other modules in mind.
Click to expand...
Click to collapse
As i wrote, multiple modules which changes the right side of the statusbar dont work in wrong order
rovo89 said:
You mean the edit() method? I don't think it's usual to make unsupported methods deprecated (at least AOSP doesn't do it), but yeah, I could do that.
Click to expand...
Click to collapse
Yes, i used it again, and wondered why the values was not written..
No big reasons, but when I started development, that was the latest version. I still have references to the hidden API functions, using the full set of framework classes for API15. I'm not sure about compatibility. And I don't see advantages of using the newer API, so I'll just keep 15.
[/QUOTE]
If i remember right, it uses newer themes if available, but only if the api was set. Set the api to 10 and try it, it's better visible...
rovo89 said:
See my comments over there. I don't think it makes sense.
Click to expand...
Click to collapse
Okay, i will delete it
Oh, and another request yet posted somewhere in the "experimental" thread:
"Dont remind for updates", per app.
Usefull if newer versions contain errors so the installer has not to remind me all the time
As all of my ideas are declided, I save time and dont create a push request
Related
General information on Xposed has been moved to this thread: http://forum.xda-developers.com/xposed/xposed-installer-versions-changelog-t2714053
The FAQ has been moved to this thread: http://forum.xda-developers.com/xposed/-t2735540
Questions, suggestions, bug reports and so on can be posted in the Xposed General forum (for the installer/framework/development only) and in the Xposed Framework modules forum (for anything module-related).
Sounds interesting.I hope that you make a apk that simplifies things for simple user like rom control in AOKP
Keep up the good work my friend
That's great, decompiling/compiling apks is not really my cup of tea lol thanks rovo89
May be useful for my themes, keep working on it
Very interesting... Will try soon.
This looks like a really great idea and could help reduce the need for dev's being pestered by users for mod's every time a new rom is leaked/released, well done sir, hope to see this take off
I will definitely have a swing at this over the next few days. This looks like fun!
**This message will self-destruct**
Thanks for the "thanks" everyone. I decided to create an installer first before looking into the other things. This way, I hope a few people can test whether it works on their device (see first post for the APK).
Some notes about this:
The installer holds the app_process executable and the XposedBridge.jar as assets and can install it to the correct locations (root permissions required!).
It will automatically create a backup of /system/bin/app_process at /system/bin/app_process.orig, which can be restored either via the app or via shell (e.g. adb, works in recovery as well).
I have only tested it on ICS (LPQ Stock). Honestly, I do not have the time to test it with anything below that. If somebody wants to do this, I can help you to get started with the code. app_process was not changed very often, so chances are rather good that it will work with only few changes.
The installer requires SDK15 (4.0.3) for the same reason.
Improvements for any part of the code are welcome! It should be easy to use for both users and developers.
(Un-)Installing the installer app alone does not change anything (at least not now). Please use the buttons inside the app.
The next step should now really be to load modules dynamically, I hope I can use standard installable APKs for that (although the framework will probably request enabling confirmation for technical and security reasons).
siberian tiger said:
I hope that you make a apk that simplifies things for simple user like rom control in AOKP
Click to expand...
Click to collapse
From what I read, Rom Control seems to be something like the Settings app for ROM-specific stuff? I am not so sure yet whether I want to implement generic settings in the framework.
Having a standard interface for setting loading/saving (like or using Android's Shared Preferences) would probably make sense. But the settings themself can be very different from module to module, so I would rather let those bring their own settings menus.
What I did though was to implement an installer. My idea how it should ideally work for end users:
Install the Xposed Installer
Click the "Install/Update" button in the installer
Install one or more modules
Configure the modules (if necessary)
Have fun!
Where "install" would mean that you can download the app from the Play Store or a website and install it with the usual package manager. At least for steps 1 and 2, this is working already. For the others, I have to see.
Dynamic module loading is implemented now as well. Modules are normal apps with a special metadata tag and an asset describing which classes to load. You can look at my modifications for examples how this works. I think it is quite simple to develop and use.
I feel that Xposed is quite stable right now. It should be very easy to install both the framework and the modules without any knowledge about modding.
Also for developers, creating a new module is not too complicated. If anyone wants to give it a try, I'm happy to help you getting started. I'm convinced that Xposed is great alternative to APK modifying, but it will not work without developers creating modules for it.
Speaking of modules, I have published one for the famous CRT off effect: http://forum.xda-developers.com/showthread.php?t=1583963
The source code is also available at Github. See how it has less than 40 lines (and only about 10 LOC)? I think that this is awesome!
I was not able to install it as normal app hence pushed them to system/app using root explorer.
It works perfectly on XXLPS SENSATION ROM ICS V 3.2
Sent from my GT-I9100 using Tapatalk
OK you got me interested
What is currently holding me back is a lack of "documentation" about how to go about doing things...
Is there any reference info (even source code comments) that I should have a read of?
Or perhaps a little worked-through guide as to how you made the screen-off or red-clock one, complete with the "thinking" behind it all, just to learn the thought process.
This seems potentially hugely useful for me, just need to know what it can do!
Diliban said:
I was not able to install it as normal app hence pushed them to system/app using root explorer.
Click to expand...
Click to collapse
Really? Oh. Did you get any error message? I assume you have allowed installation of non-market apps?
@pulser_g2: Feedback taken! Until now, I focused on bringing Xposed to a level where it is actually doing something useful for end-users.
As there are some steps that can not be documented easily in the source code (e.g. how you mark an app as Xposed module), I will recreate a tutorial how you can create the clock example. I will try to give many details not only what to do, but also how you can know that you need to do this.
TUTORIAL - How to create an Xposed module
The tutorial has been moved to https://github.com/rovo89/XposedBridge/wiki/Development-tutorial
this is one of the most amazing projects made lately.
You are unleashed the best way to handle mods and possible some hacks.
very great work, robo89
Great concepts mate. Very powerful.
Wouldnt this also expose a device to malicious coders?
If a device has this implemented then is it possible that a simple theme could contain something nasty.
Not trying to stop progress of this project just throwing this out there for consideration.
----------------------
GTI9100 KK5
aceofclubs said:
Wouldnt this also expose a device to malicious coders?
If a device has this implemented then is it possible that a simple theme could contain something nasty.
Not trying to stop progress of this project just throwing this out there for consideration.
Click to expand...
Click to collapse
This is an absolutely valid thought.
In a way: Yes, it is easier to do something malicious with this. With great power comes great risk. The thing is: How would you prevent that? I couldn't think of any way once a module has been loaded, because a) how do you identify something malicious and b) how can you block it when it could just circumvent the security measure taken?
So what I did was to require that you enable a newly installed module in the installer. This at least avoids that you install any normal app and it contains a hidden Xposed module.
And not trying to play this question down, but you could insert malicous code in a theme also when you post a new framework.jar or SystemUI.apk. You could just change the smali code, compile it and you have similar power. For example, modifiying the constructor of the Activity class would also get you into any app and you could as well do whatever you want. You wouldn't even find these modifications because of the hundreds of classes in the Android framework. In this point, Xposed modules are easier to check, because they will usually contain just one class with very few and short methods.
Or take Superuser. Yes, it is asking you every time whether you want to execute this command. But the command can as well be a script that could replace files as the root user. Same for the kernel. In any case, when you modify anything in your phone, there is a risk that it is malicous.
As I said, I'm not denying that there could be a misuse of this project. But I do not see a chance to prevent it without blocking even simple real-life modifications. If anybody has ideas, please let me know.
rovo89 said:
This is an absolutely valid thought.
In a way: Yes, it is easier to do something malicious with this. With great power comes great risk. The thing is: How would you prevent that? I couldn't think of any way once a module has been loaded, because a) how do you identify something malicious and b) how can you block it when it could just circumvent the security measure taken?
So what I did was to require that you enable a newly installed module in the installer. This at least avoids that you install any normal app and it contains a hidden Xposed module.
And not trying to play this question down, but you could insert malicous code in a theme also when you post a new framework.jar or SystemUI.apk. You could just change the smali code, compile it and you have similar power. For example, modifiying the constructor of the Activity class would also get you into any app and you could as well do whatever you want. You wouldn't even find these modifications because of the hundreds of classes in the Android framework. In this point, Xposed modules are easier to check, because they will usually contain just one class with very few and short methods.
Or take Superuser. Yes, it is asking you every time whether you want to execute this command. But the command can as well be a script that could replace files as the root user. Same for the kernel. In any case, when you modify anything in your phone, there is a risk that it is malicous.
As I said, I'm not denying that there could be a misuse of this project. But I do not see a chance to prevent it without blocking even simple real-life modifications. If anybody has ideas, please let me know.
Click to expand...
Click to collapse
It is so refreshing to see someone take such a mature approach as this.
I greatly appreciate your time on that tutorial, and I will take a proper read through it while working it out myself later... (on vacation right now, this seems like a good thing to try if it rains )
Regarding security, I guess you could add a way to protect WHAT was being edited... Such that your package needed to declare edit access to package X and Y, and if it doesn't have permission, it can't do it... This way, if I want to interfere in Gmail, the user must agree, and he/she will say "well... Why is my no battery sound tweak touching gmail?" But this obviously doesn't help for frameworks and services where they are all in the one file... :/
pulser_g2 said:
Regarding security, I guess you could add a way to protect WHAT was being edited... Such that your package needed to declare edit access to package X and Y, and if it doesn't have permission, it can't do it... This way, if I want to interfere in Gmail, the user must agree, and he/she will say "well... Why is my no battery sound tweak touching gmail?" But this obviously doesn't help for frameworks and services where they are all in the one file... :/
Click to expand...
Click to collapse
Maybe.. I could rather easily implement something in hookMethod that checks the method to be hooked against a whitelist defined in an asset in the module (which could of course contain wildcards). Then when you enable a module, I could display this whitelist, with a warning if it includes some very central classes/packages/methods (but how to create such a list?).
However, this cannot control the following:
What you do inside the handling method. If you change anything in SystemUI (and that might be only the battery icon or the clock color), this method will be executed in the context of the SystemUI, which has a large set of Android standard permissions.
Calling any methods of the framework and modifying any available variables, as this can be done via standard reflection.
Basically anything that is not handled through XposedBridge, but using standard techniques.
Wanted to install the framework, but i am getting:
sh: /data/data/de.robv.android.xposed.installer/cache/install.sh: no such file or directory
What am i doing wrong ?
[Feature request] Add a "Bookmark this Module" (or similar) to the Xposed Installer
Hey,
I just installed Xposed on my Nexus and browsed though the available modules, but as I am relatively new to the whole topic of rooting / Xposed etc. I am currently unsure which module to install so I thought it would be great to have some kind of function to put a module to a bookmark / watchlist / wishlist section similar to the Play Store instead of installing it right away. That button could be placed next to the download button e.g.
Many thanks for thinking about it And thanks for providing such awesome work with the framework.
Morning,
what do you think? Would it be possible to add some kind of "watchlist" to Xposed?
With a hopefully ever growing list of modules it could be quite handy.
Thanks for considering it.
My way of bookmarking: I download and install a module but don't enable it in Xposed. So I could try it later
I could imagine that feature some kind in the future. It could be integrated into the "Settings" tab of the module. Not high prio for me though...
rovo89 said:
I could imagine that feature some kind in the future. It could be integrated into the "Settings" tab of the module. Not high prio for me though...
Click to expand...
Click to collapse
Can you also please add a 5th state "dont remind for updates" to this settings tab?
defim said:
Can you also please add a 5th state "dont remind for updates" to this settings tab?
Click to expand...
Click to collapse
Yeah. But do you think this makes sense as an option for the Stable/Beta/Experimental choice? It would mean that the module would be treated as if there weren't any versions at all. I think it would be better to make this a separate setting, so you would still see all the versions, but it wouldn't trigger the "updates available" texts on the welcome screen. This would be even better if it (optionally) remembered the latest version at the time you selected it, and would disable itself when there's a newer version available. So that would be a "skip this version" setting.
@rovo89: "Skip this version" is even!
It fits my user case: Version 1.5 and 1.6 of an app doesnt work correctly, but 1.4 does. So it would be great to be informed of a 1.7, but do't show all the time "updated available"
I pretty much do the same as defim but run into problems on my tablet that doesn't have as much space to install to and it reserves 500 meg and blocks installs but if I want I could fill that space with download, music or whatever. Only way to install at that point is to delete stuff/uninstall to get above 500 mb free to install something and not really feasible on that device just to remember a module I want to try later or keep an eye on so I'd love a wish list type feature.
Sent from my XT1080 using XDA Premium 4 mobile app
Hello,
The bookmark feature of xposed, could be an xposed module in itself, hooking the Xposed app and expanding its features Just a thought.
Kind Regards
TwinAdk
TwinAdk said:
The bookmark feature of xposed, could be an xposed module in itself, hooking the Xposed app and expanding its features Just a thought.
Click to expand...
Click to collapse
That would be very ugly...
Xposed is open-source for a reason. I don't see Xposed as the solution for everything. If you have the chance to change the software at it's origin, do that. It's less work and much more sustainable.
This is a small issue I've noticed. I have a module by the name of [KK] Translucent Recent. When in the modules list, it is listed at the bottom of my list. However, when in the download list, it's listed first (in the installed section). This is a small inconsistency problem that I noticed and thought I should point out. Being that this is low priority, I'll be happy if it gets fixed whenever the devs have some spare time. Thanks!
Thanks. I assume that's because the download list is sorted by SQLite, whereas the module list is sorted in Java. Not sure about the exact implementations or ways to change it... Maybe something that somebody else could look into?
rovo89 said:
Thanks. I assume that's because the download list is sorted by SQLite, whereas the module list is sorted in Java. Not sure about the exact implementations or ways to change it... Maybe something that somebody else could look into?
Click to expand...
Click to collapse
I just pushed a commit to fix this. The installed modules list now uses collation for sorting, fixing the [KK] entry and case (in)sensitivity as well.
Cool, thanks! I didn't even know that the term "collation" exists outside of databases.
rovo89 said:
Cool, thanks! I didn't even know that the term "collation" exists outside of databases.
Click to expand...
Click to collapse
Neither did I
When i make an Xposed Mod, I often find myself disabling all others
Can we perhaps have an option to have profiles
So i can have one profile which has mod A,B,C enabled
And another which has D, E, F enabled
And i can easily switch
So how many users will be using this kind of profiles? I don't think this is a usecase of the average user.
However, you can implement it in a fork and use it for yourself. I think this is the better solution after all.
I agree, this seems to be a very limited use-case.
You could also try to manage this by backing up Xposed Installer's settings, especially the enabled_modules.xml.
rovo89 said:
I agree, this seems to be a very limited use-case.
You could also try to manage this by backing up Xposed Installer's settings, especially the enabled_modules.xml.
Click to expand...
Click to collapse
Agreed. I will fork it myself thanks for the advice @theknut
We are now working on the new Xposed API, which allows modules to get / set scope, to get framework info, and to store configs across apps without the embarrassing New-XSharedPreferences interface. The API library will be released to GitHub/libxposed and maven central after it is ready.
Now we are considering removal of resources hook in the incoming new API, so we need to know whether it is still needed or unreplaceable for some modules.
About why we want to remove this API: Resources hook is very hard to maintain and is even not fully supported now under some frameworks (e.g. Taichi). So even if we keep it, it will be maintain-only.
Old modules can still use this feature. We are just considering remove it in the new API.
You can vote at the LSPosed Telegram group or write your opinion here. Also we are glad to hear your suggestions about the new API.
@AndroidX @siavash79 @Dark_Eyes_ @firefds @David B. @Quinny899 @wanam
Just mentioning you guys since you're all active here on XDA. Please see the first post.
Regards,
shadowstep
Senior Moderator
Dr-TSNG said:
We are now working on the new Xposed API, which allows modules to get / set scope, to get framework info, and to store configs across apps without the embarrassing New-XSharedPreferences interface. The API library will be released to GitHub/libxposed and maven central after it is ready.
Now we are considering removal of resources hook in the incoming new API, so we need to know whether it is still needed or unreplaceable for some modules.
About why we want to remove this API: Resources hook is very hard to maintain and is even not fully supported now under some frameworks (e.g. Taichi). So even if we keep it, it will be maintain-only.
Old modules can still use this feature. We are just considering remove it in the new API.
You can vote at the LSPosed Telegram group or write your opinion here. Also we are glad to hear your suggestions about the new API.
Click to expand...
Click to collapse
Thanks for getting opinions
1. Xshared preferences interface overhaul is good news since it was always unstable for me. I personally switched to remote preferences API for AOSPMods
2. When going to systemUI and framework, it's sometimes very difficult and complicated to change some variable values through Xposed, specially with R8 code optimizations which dramatically limit the points we can hook into code.
There are two workarounds I know of, being Xposed resource hooking that can be also dynamic in runtime, or overlays, which being static, still limit the way we can change resources dramatically.
So, I'd really suggest keeping it in the API
siavash79 said:
2. When going to systemUI and framework, it's sometimes very difficult and complicated to change some variable values through Xposed, specially with R8 code optimizations which dramatically limit the points we can hook into code.
Click to expand...
Click to collapse
For R8 code optimizations, we introduced a new API to parse dex file, which allows modules to find methods/fields more accurately.
Anyway if we finally decide to keep resources hook API, do you have any suggestions on keeping/adding/removing specific methods of it or refine it to a more modern interface?
Perfect news.
About resource hooking, few things to note are that: it can't differentiate between different resource files, for example normal values vs landscape or dark/light values. It would be great if there's a way to push different values to different resource files.
Also, there are more limitations when talking about special resources such as themes. As an example, in AOSPMods, one of the reasons it's a magisk module instead of being a normal APK is that overlay files have to be used in cases that need modification of theme resources and that can't be done via resource hooking.
I personally love to get a more complete/flexible resource hooking API, but I completely understand if that's too much to ask. So even keeping it as currently is would be good enough
Thank you @shadowstep for bringing this to my attention!
Dr-TSNG said:
We are now working on the new Xposed API, which allows modules to get / set scope, to get framework info, and to store configs across apps without the embarrassing New-XSharedPreferences interface. The API library will be released to GitHub/libxposed and maven central after it is ready.
Click to expand...
Click to collapse
That's wonderful news, although I do not quite understand what you have against the new XSharedPreferences interface. I use it in my modules, and I've never had any issues with it.
Dr-TSNG said:
Now we are considering removal of resources hook in the incoming new API, so we need to know whether it is still needed or unreplaceable for some modules.
About why we want to remove this API: Resources hook is very hard to maintain and is even not fully supported now under some frameworks (e.g. Taichi). So even if we keep it, it will be maintain-only.
Old modules can still use this feature. We are just considering remove it in the new API.
Click to expand...
Click to collapse
I am not currently using the resources hook in any of my modules, so removing it would not impact me, but even so, I'm not a fan of the suggestion to get rid of it completely. I think that at the very least, it should be kept as maintain-only. It is unfortunate that it does not work with Taichi, but given that Taichi isn't a true Xposed implementation, I'm not sure that it's worth worrying about.
This looks great, I've been waiting for it since the initial issue talking about it. Prefs are always a pain to handle, and while the "new" method worked, I always preferred to use a Content Provider, which was nerfed in Android 12.
Really like the idea of setting the scope, it would be beneficial to the Xposed part of DarQ, the only suggestion I have is to make sure it includes some sort of "am I enabled?" check - currently I use self hooks (literally the module hooking itself and changing a method returning false to true) to verify it's enabled, but it doesn't seem to be foolproof as people sometimes still complain it doesn't work.
Quinny899 said:
the only suggestion I have is to make sure it includes some sort of "am I enabled?" check
Click to expand...
Click to collapse
Of course does, and the module app can get more info about the the Xposed state like it's under which framework and which version, and whether it is rootless or not without self-hooking.
You can view the detail here.
@shadowstep Thanks for the head up.
Glad to see a new api to manage configs across apps, shared prefs has been always painful to handle even with the new-xshared prefs.
I would suggest having an api to get the version name of scope's package, I'm aware of some workarounds that help get the version name, but it's not a reliable solution on the latest Android versions, this information is needed for logging/debugging purposes.
@Dr-TSNG thanks and keep up the good work.
@Dr-TSNG Thanks for new api I was wating for this api from more then 1 year coz when I build my first module (Android Faker) its was really pain in ass coz of Xsharedpreference after some research I found better solution which was remote preference but Quinny899 mention in Github issue that its not work in android 11 so after that I move to new Xsharedpreference which was introduce by lsposed team and its working great but its still create issue in some devices so I think it will be a better solution if we get it soon and I am not sure about resources hook coz I don't use it before .
The problem with xshared preferences is that if the apk is a system app it won't work for some reason. Only works on user apps
siavash79 said:
The problem with xshared preferences is that if the apk is a system app it won't work for some reason. Only works on user apps
Click to expand...
Click to collapse
Interesting. I use XSharedPreferences in a System Framework hook and haven't had any issues with it.
David B. said:
Interesting. I use XSharedPreferences in a System Framework hook and haven't had any issues with it.
Click to expand...
Click to collapse
Is your module installed as APK or as magisk module?
Try mounting it to system through magisk and preferences will stop working
siavash79 said:
Is your module installed as APK or as magisk module?
Try mounting it to system through magisk and preferences will stop working
Click to expand...
Click to collapse
It's installed as an APK. I misunderstood what you had said earlier. I thought you meant that the hook doesn't work when you try to use it on system APKs. I didn't realize that you meant that it doesn't work when the module is itself a system APK.
siavash79Yeah I agree with this and in my testing if you set target sdk 23 its doesn't matter if its as system app or user its work without any issues but its not worth coz it have some other issues
Thank you for accepting the API invokeSpecial() !
Add invokeSpecial · libxposed/[email protected]
Fix #2
github.com
Implement invoke special and new instance special · LSPosed/[email protected]
LSPosed Framework. Contribute to LSPosed/LSPosed development by creating an account on GitHub.
github.com
Looking forward to the new API release.
Happy Chinese New Year!
I just want to see @M66B happy again
Somewhat unrelated, but is there any chance of seeing original Xprivacy return or compatibility? I think it's a lot better than Lua
lawrencee said:
Somewhat unrelated, but is there any chance of seeing original Xprivacy return or compatibility? I think it's a lot better than Lua
Click to expand...
Click to collapse
No. Xprivacy will never "return".
XPrivacyLua is the best ever