Youtube Music module (not YouTube) - Magisk

With Google play music going away soon, the community would definitely benefit from a module for YouTube Music (not YouTube).
Requested features, at least from my point of view would be background and ad free playback in the YouTube music section (this already exists in the uploaded music section), improved search in the uploaded section and that the search defaults to the tab it originated in (search in uploaded music, search results show in uploaded tab, not YT music tab). And maybe other small improvements.
Please post here if you would like a module like this. Considering how broken YTM is compared to Google Play Music, it would be welcomed.

I doubt how could someone benefit out of this idea.
My guess is that you're making a basic mistake here, you can't just achieve functions nor improve an app (that requires a paid subscription) by simply adding it to another partiton through a module or giving root permission to it... It won't make any real difference.
If you're taking the Vanced mod into account, don't, because Vanced is a completely different situation, it's a modified version of the original app and the only benefit of it being a module or installed using root was that the app could replace the original YouTube app systemlessly, they could use the repository to distribute the module easier, and you could login without the microg thing (in fact, the module is now deprecated in favor of their own manager apk). And you can also install the non-root version, which works exactly the same as the root one ?
So, in short, no it's not as simple as that. Unless someone is interested in modifying that app directly (similar to Vanced). You should be asking for an apk mod, not a module...

abacate123 said:
I doubt how could someone benefit out of this idea.
My guess is that you're making a basic mistake here, you can't just achieve functions nor improve an app (that requires a paid subscription) by simply adding it to another partiton through a module or giving root permission to it... It won't make any real difference.
If you're taking the Vanced mod into account, don't, because Vanced is a completely different situation, it's a modified version of the original app and the only benefit of it being a module or installed using root was that the app could replace the original YouTube app systemlessly, they could use the repository to distribute the module easier, and you could login without the microg thing (in fact, the module is now deprecated in favor of their own manager apk). And you can also install the non-root version, which works exactly the same as the root one ?
So, in short, no it's not as simple as that. Unless someone is interested in modifying that app directly (similar to Vanced). You should be asking for an apk mod, not a module...
Click to expand...
Click to collapse
Considering it's going to replace Google Play Music, yes I think it deserves a module, and as much attention as the Vanced team gives its app. I find it strange you think I'm making a "mistake" in asking for a module (call it an app, call it a module, it's a modded version of the original, however we get there) that thousands of people would appreciate. If a module is not the right term, that's fine. This forums is a good place to start though since I have seen a lot of threads asking for something like this even though GPM is still alive. When it dies, it would be very welcome by the community I'm sure.

xgerryx said:
Considering it's going to replace Google Play Music, yes I think it deserves a module, and as much attention as the Vanced team gives its app. I find it strange you think I'm making a "mistake" in asking for a module (call it an app, call it a module, it's a modded version of the original, however we get there) that thousands of people would appreciate. If a module is not the right term, that's fine. This forums is a good place to start though since I have seen a lot of threads asking for something like this even though GPM is still alive. When it dies, it would be very welcome by the community I'm sure.
Click to expand...
Click to collapse
Did you ignore the part where I said that it makes no difference at all to use it as a module or simply install as a normal apk and the differences btw them, also the comparison? The mistake I mentioned is that you're asking for an apk mod, not a module. That's it.
About the idea, yes I agree with you, it'd be useful (as long as it's not considered against the rules or there are some law problems implied, Idk).

I'm dreading this forced migration from Play Music to YT Music. For years now I've had the last remaining copy of my entire digital music library collected over the years, with a ton of remixes, singles, alternate versions, radio talk, random sound bites, extremely old and obscure audio files which are very likely impossible to ever find anywhere online these days. All just saved on GPM cloud. I'm absolutely dreading the change to YTMusic will be an opportunity for Google to delete entire swaths of audio files that don't fit into their sanitized Billboard commercial record label-approved cookie cutter whitelist, reducing the tens of thousands of tracks down to whatever YouTube recognizes only.
This may not be the right place to ask, but regarding a method to preserve our GPM music libraries, is there such a mod or modded apk that may help with this? I know back in the day there were mass downloader programs for desktop systems but that's no longer an option. And i very much doubt there will be an easy way to transfer such a huge library to another cloud service, even if just as basic file storage and not music oriented.

Related

Xposed - Legacy thread. Don't panic, Xposed is still here.

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 ?

Few queries on Redmi 4A (simple but challenging)

I have searched internet for below mentioned queries but could not find a solution. Hope someone can help out here.
(1) How to remove the unnecessary Google apps?
I read somewhere (and on this forum as well) that this can be done through Google Playstore but I dont see the options in Google Playstore account. (Maybe it doesnt work anymore)
(2) How do I remove Mi App Store and other Mi apps?
Can it be uninstalled... or atleast disabled?
(3) What is authenticity of Security app?... remove Cheetah, Tencent?
I am not sure how reliable this pre-installed Security app is or whether it is authentic as I dont see it in Google Playstore (I dont feel comfortable to have any app in my mobile which is not on Google Playstore).
New Android devices actually dont need app/memory cleaner, etc. There are numerous negative reviews about Cheetah, etc. I saw that Security app uses engine of Cheetah, Tencent, etc. Better to remove it?
(4) I dont see many settings in Camera. Is there guide to actually understand the settings, how to use, etc?
(5) I see that there are guides thread in bit and pieces, but is there any complete PDF, user maual or user guide for Redmi 4A or MIUI 8?
Thanks!
Easy solution is to install custom ROM.
Check this, https://forum.xda-developers.com/general/general/update-redmi-4a-users-t3706184.
As I know, user manual for Redmi 4A has not yet been available on the manufacturer's official website.
But manuals for other Redmi phones, such as Redmi 5A, are available there.
1. Removal via Play Store only applicable if you're installing them via Play Store i.e. not pre-installed. If you want to remove the pre-installed ones without root then try this
2. You can't really remove any of the system app if you're on official MIUI ROM because of its stock kernel (dm-verity). Try to remove them and it'll put your phone on a bootloop on the next boot because it checks the system integrity and refuses to boot if it detects any changes to the system, including file deletion. Maaybe you can if you're rooted and you have a modified kernel installed that disables the dm-verity.
3. It's an OEM app, meaning it was from the ROM itself. The manufacturer may decide if their OEM apps will be up on Play Store, so it may or may not be available from there. Think of it like your stock launcher. And well, it's Cheetah. Disable all of its updates and configurations (virus definition, auto scan etc.) and you're good. You can just disable the cleaner engine to stop the cleaner altogether. And as mentioned earlier, don't try to remove a system app if you're on an official MIUI ROMs. Didn't want to risk yourself to putting your phone into a bootloop. Unless you can do it properly then sure thing. Make sure to take a backup beforehand.
4. Most camera settings are pretty self-explanatory, so maybe they decided to not put much on the camera 'guide'
5. No. Not all guides comes with a PDF, and there's not a single guide that covers everything. Sometimes they came like forum threads like this. The only user manual/user guide available is the booklet that came with your phone. And I'm pretty sure that's not the guide you're looking for, as that booklet only covers the very basic operations of your phone.
thatOneWeeaboo said:
1. If you want to remove the pre-installed ones without root then try this
2. You can't really remove any of the system app if you're on official MIUI ROM because of its stock kernel (dm-verity). Try to remove them and it'll put your phone on a bootloop.
Click to expand...
Click to collapse
Hi thatOneWeeaboo. Thanks for your kind help. :good:
Just a basic question.. are those Google apps and Mi Apps "pre-installed ones" or "system apps"?
I read somewhere that bloatware can be removed by simple app known as "Activity Launcher".. but will have research about it... Any inputs on it?
Biker Biker said:
are those Google apps and Mi Apps "pre-installed ones" or "system apps"?
I read somewhere that bloatware can be removed by simple app known as "Activity Launcher".. but will have research about it... Any inputs on it?
Click to expand...
Click to collapse
Technically speaking, System Apps are 'pre-installed' and pre-installed apps isn't always a system app. If the latter is your case, you can just remove them via your Apps section in your Settings menu, no need lengthy steps or commands.
You've probably read a similar guide that I linked and the "Activity Launcher" app's purpose is to launch a certain app's activity, therefore it's isn't actually removing the bloatware. As far as I know, it is used to launch the AOSP version of the Aplication Settings that normally isn't visible within the MIUI skin. You can actually disable most Google packages and some MIUI apps within there.
skmaiti2050 said:
Check out my thread for simple solution for system apps:
https://forum.xda-developers.com/android/help/miui-8-debloater-script-t3678972
And for camera, there is a mod you can try http://en.miui.com/thread-577424-1-1.html
After that you get the manual mode. In simple, set low ISO on good lighting scenes like sunrise or outdoors and high ISO for dark places, indoors and don't use flash when high ISO is set or you'll get a distorted image.
For shutter speed, set it to shortest on daylight scenes and for night scenes set it to the longest so it will be capable of capturing more light. For focus, when taking macro set focus to lower values and taking normal shots set it 35 to 50 and for broader views and distant object set it higher values.
Hope I helped you, but quite late
Click to expand...
Click to collapse
Thanks for replying mate, but I dont think I would want to install all those zip files in my mobile. You never know if they are itself corrupted/malware/spyware. But thanks for replying!
I dont want to install anything which doesnt come from google playstore.
Biker Biker said:
Thanks for replying mate, but I dont think I would want to install all those zip files in my mobile. You never know if they are itself corrupted/malware/spyware. But thanks for replying!
I dont want to install anything which doesnt come from google playstore.
Click to expand...
Click to collapse
If you're insisting to not install anything that doesn't come from Play Store, then try another camera app, like Open Camera. Other than that, there's isn't much you can do without installing things outside of the Store. Actually, LineageOS's stock camera, dubbed Snap Camera, is a pretty great camera app. But since it's not from the Play Store then I won't recommend it to you because, well, it's not from the Store.
Biker Biker said:
You never know if they are itself corrupted/malware/spyware.
Click to expand...
Click to collapse
That's a pretty much a valid concern, but there's other people's testimony if things are actually working. So you can see e.g. if it's fixed your problem or make it worse by messing up stuff.
Also, not all Play Store apps are safe, though. There are some apps that collects your information/personal data without you knowing e.g. a Keyboard app that asks for your Device ID

[REQUEST] HTC Framework Module

i recently tried out a friends u11 and while the phone is honestly meh, i really liked its screenshot tool. i managed to get the apk but obviously it didn't work on any of my devices. i installed google framework on my devices and can now use the dialer and other apps so i was hoping that someone could build a similar module for the HTC apps. the app in question is below, thanks in advance for any and all help!
Play Store
APK Mirror
droidbot1337 said:
i recently tried out a friends u11 and while the phone is honestly meh, i really liked its screenshot tool. i managed to get the apk but obviously it didn't work on any of my devices. i installed google framework on my devices and can now use the dialer and other apps so i was hoping that someone could build a similar module for the HTC apps. the app in question is below, thanks in advance for any and all help!
Play Store
APK Mirror
Click to expand...
Click to collapse
I have install the apk file on my phone, apparently this app works only on HTC devices because it can recognize only HTC keys values.
Knowing that this type of process must include all names keys binaries made by HTC, this may be written "hard" in the application.
As you mentioned, other applications "a little less specific" only need other applications/frameworks (always in the form of an app) to trigger themselves, to work, which explains why this is the case.
I don't have to find out if the application in question may need something software-specific to run and actually i haven't even decompiled it via apktool or anything like that, in my opinion the interesting parts can't be decompiled into something usable.
If any time you find out exactly how to trigger the activation of the application, i might be able to make a module for that, otherwise i'm afraid there's nothing we can do.
The last of the solutions i see there would be an Xposed module, but from there the work to be done goes beyond my skills.
@Rom
whoa! youre awesome! thanks for your efforts. well, thats honestly a bit downer. i assumed that it required some sort of proprietary HTC data but to go that far..... damn! i bet HTC could make some money selling the app on the play store. i guess thats it for this idea, thanks again Rom.

Has anyone used Virtual Xposed?

I was recently told about Virtual Xposed on github, as it being a rootless version of xposed.
I was wondering if anyone has used it, can they give me a breif rundown on it and how to use it? I want to use it to enable adblock and youtube ad away like you are able to on the rooted exposed.
If anyone can help me or point me into the general direction to learn that would be great.
Thanks!
I don't know about Virtual Xposed but I use blockade does a great job at blocking ads. And I downloaded a app of the internet called new pipe which is a YouTube app that allows ad free viewing and has the same options as you tune red
If you're primarily going to use it for YouTube, I suggest you take a look at the "YouTube Vanced" project in the general apps&games section.
It's a rootless YouTube mod with bg-playback and inbuilt adblock.
On the stock internet app, I have installed ad blocking extension called Fast. Now I can watch YouTube videos in the app without ads
Sent from my SM-N950U using Tapatalk
I tried virtual xposed in another device, as I did not want to experiment with my note 8, installed 3 modules as per instructions, but it does not seem to work, maybe, not all modules work in certain devices, as it happens with standard xposed on rooted ones, but, who knows
The modules only work on apps installed in the virtual environment. Also you need to enable them and reboot.
thedamnone said:
The modules only work on apps installed in the virtual environment. Also you need to enable them and reboot.
Click to expand...
Click to collapse
Yes, I did all as instructed
Virtual exposed does not work with YouTube so I have to find an app that blocks ad for YouTube.. any suggestions other than the ones mentioned? I use Firefox for ad block but not anything else
Try OG YouTube the apk is floating around here somewhere. I use it everyday with no ads.
Virtual Exposed is not Exposed replacementdue to very limited and mostly useless modules or to put it mildly, only useful to very few popular apps in certain regions.
The only module I haven't found a half decent replacement for is Xinsta. I'll have to look and see of this works with that module.

New Xposed API Proposal

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.
siavash79​Yeah 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

Categories

Resources