First of all, many thanks @rovo89 and the others for your impressive work!
Just wanted to share my experiences regarding my attempt to downgrade the framework version.
You might ask "why would you want to do this?" Well, on a Huawei Ascend G700 (rooted, CWM, stock ROM) the framework stopped to install properly without disabling the ressources API (starting v2.6.x, reported elsewhere many times, probably due to incompatibilities with Huawei's own theming engine?).
But disabling the ressources API in return makes exactly the most interesting modules for this device useless (there aren't any "true" custom ROMs due the missing kernel sources).
To make this short: v2.5.1 does its job still pretty well (at least for those "interesting" modules) but I've had a hard time to downgrade.
First I misunderstood the concept of the installer (that the current version is already included) and then I couldn't find any hints into the right direction (repository with previous installer versions).
So it might be a good idea to add a pointer to the FAQ (or general installation notes?) with a link to the Xposed Installer repository.
No, Im not going to ask if there will be compatible versions for the Ascend G700 in the future - but I'll definitely be interested into suggestions how to solve the problem (e.g. get the Huawei theming engine out of the way etc.)
Related
Note: This thread is here mostly for historical purposes. While Xposed is supported in various forms [EdXposed and LSPosed], developent on the Xposed primary app has completed. Xposed framework compatible modules are still in active development and supported by their respective developers..
Click to expand...
Click to collapse
Let me introduce the Xposed framework, which gives you the possibility to modify your ROM - without modifying any APK (developers) or flashing (users)!
For a quick start, have a look at XDA's "Android Basics 101" on Xposed:
Some technical details:
I extended the /system/bin/app_process executable to load a JAR file on startup. The classes of this file will sit in every process (including the one for system services) and can act with their powers. And even more: I have implemented something that allows developers to replace any method in any class (may it be in the framework, systemui or a custom app). This makes Xposed very powerful. You can change parameters for the method call, modify the return value or skip the call to the method completely - it's all up to you! Also replacing or adding resources is easy, thanks to many helpers in Xposed's API that developers can use.
Advantages:
No need to modify any APKs. This means:
No need to decompile, change things in smali, compile, sign, ...
It will work for odexed and deodexed ROMs.
Your mod is not bound to a specific version of the ROM. Unless there is a major change in the methods called for a certain functionality, your mod will continue to work even when you upgrade your ROM. Many modules work for a wide range of ROMs from different vendors.
Multiple mods can be installed at the same time, even if they modify the same app. So you can use these battery icons and those quick toggles. Even hooking the same method twice is possible. Of course, this only works properly if the mods are not trying to do incompatible things.
It does its magic at runtime. That means that developers can implement settings and do changes based on them (instead of statically forcing a certain behavior). Or you can have some extra logic for certain ROMs, without building different mod versions.
It can be disabled easily without having to reflash.
It's open source and free (as in beer and in speech).
There is a repository with many popular modules.
Download:
You can download the installer from http://dl.xposed.info/latest.apk. The attached disabler zip is only needed if you are in a boot loop.
An experimental version for Gingerbread made by liudongmiao can be found here: http://forum.xda-developers.com/showthread.php?p=44034334#post44034334 (no support from my side though)
How to install:
First step for everything you do: Create a nandroid backup and make sure you know how to restore it!
I'm not responsible for anything you do with your phone/tablet/rice cooker.
There is also the risk to soft-brick your device. In such a case, see below for ways to recover from it.
Installation of the framework:
Download the Xposed Installer APK and install it
Launch the Xposed Installer, go to the "Framework" section and click on "Install/Update"
Reboot
Done!
You can verify this by starting the Xposed Installer again and making sure that the numbers in the "Framework" section are green.
If app_process jumped back to an older version (or none at all), you probably have a ROM with S-On or similar, which reverts any changes to /system after a reboot. Use installation via recovery in such cases.
Installation of any modules:
Download <module>.apk (e.g. via the builtin repository browser) and install it
Launch the Xposed Installer and go to the "Modules" section (you will also get there if you click on the notification warning you that the module is not enabled yet)
Enable the module by checking the checkbox
Reboot
Done!
(note that you can install the framework and enable/disable multiple modules at once and reboot afterwards)
In case you get into a boot loop:
First, try using the safemode by pressing any hardware key repeatedly. You can find a short explanation how it works here.
If that doesn't work, you can flash the attached Xposed-Disabler-Recovery.zip by Tungstwenty. It will be copied to your (external) SD card when you install Xposed as well. The only thing it does is copying /system/bin/app_process.orig back to /system/bin/app_process, which you can also do yourself (e.g. with adb shell in recovery mode).
Modules:
The official repository for Xposed modules, which can also be access from within the app itself (with download/update support), can be found at http://repo.xposed.info
There is also a whole XDA subforum for modules and an index/request thread.
Please don't use the "Xposed General" forum for requests or problems with modules! Use the thread of the module instead.
How to write a module:
If you are an interested developer, give it a try. The development tutorial will help you get started. Further documentation (e.g. how to replace resources) is here. And of course, you can ask your development questions in the "Xposed General" forum.
If you have suggestions for new functions the framework could provide (which means they should be useful for more than your module), you can do this there as well. However, requests that I or somewhen else should write a module for xyz are NOT allowed. Again, this subforum is only about the framework.
Source code:
https://github.com/rovo89/Xposed (the C++ part)
https://github.com/rovo89/XposedBridge (the Java part)
https://github.com/rovo89/XposedInstaller (Installer app)
Where to get help:
First, read the FAQ and search the "Xposed General" forum. If you don't find your answer there, please check this explanation to find out where you should post your question (e.g. module requests/questions don't belong into the "Xposed General" forum).
Thanks to:
Tungstwenty for his many contributions, both in code and thoughts
XDA admins, news writers and supporters for making Xposed known to so many people
All those volunteers who help answering questions about Xposed
The people who donated to get me a Nexus 5 for earlier KitKat support
All the translators: http://translate.xposed.info/ (if you want to contribute more translations, please follow the instructions mentioned on that page)
Xposed Installer versions & changelog
In this thread, I will post announcements about new Xposed Installer versions (including test versions). If you want to be notified about new versions, subscribe to this thread.
Older versions:
1.0: Initial version
1.1: ???
1.2: Installer
1.5: Resource replacing
1.6: Some fixes and improvements [629 downloads]
2.0 rc2: Lots of thing redone. Supports (temporarily) replacing native libraries, lots of additions and changes for developers. [3,234 downloads]
2.0: Removed the native library replacement again, support for 4.1 and 4.2, Instagram crash fixed, ... [631 downloads]
2.0.1: Fixed a crash when a module tries to hook a function with "long" or "double" parameters [930 downloads]
2.0.2: Fixed a problem which resulted in a boot loop [4,310 downloads]
2.1: Various improvements, e.g. earlier callbacks for module loading. For details, see this post. [345 downloads]
2.1.1: Fixed a bug in drawable replacements [5,421 downloads]
2.1.2: Small fixes, added Chinese and Russian translations [11,415 downloads]
2.1.3: Reverted a change in 2.1.2 that caused bootloops; new translations and some more fixes [46,803 downloads]
2.1.4: Support for Galaxy S4 and HTC One plus a few minor fixes/enhancements (details) [208,176 downloads]
2.2: Builtin updater/module downloader, extended UI, support for Android 4.3 and more (details) [241,267 downloads]
2.3: x86, Knox, MIUI support (experimental), context menu in modules list and more (details) [18,219 downloads]
2.3.1: "Segmentation fault" during installation fixed [679,333 downloads]
2.4: Support for Android 4.4, performance improvements, log viewer, active check (details) [101,613 downloads]
2.4.1: Fixed bootloop on some x86 ROMs [2,537,642 downloads]
This is Xposed version 2.5 (final). The main new features and fixes in this version are:
Rewritten framework installation/uninstallation
Uses interactive su (via libsuperuser) to provide improved compatibility with different Superuser apps
Better feedback when root access fails (doesn't freeze the app anymore)
Offers installation via custom recovery (CWM/TWRP), either flashing the file automatically or manually
Safemode to disable Xposed with hardware keys to get out of (most) bootloops
Compatibility with Sony/LG ROMs (4.3 and 4.4), Meizu ROMs (4.4)
Debug setting to disable resource hooking as a temporary workaround for incompatibilities with some theming engines (not all modules can be used in this mode)
There are also other improvements and fixes, especially many translations updates.
In case you get a message "Segmentation fault" during installation, you can now download an additional app which provides statically compiled versions of BusyBox (a lot bigger, but should work with every ROM). It's not needed otherwise.
Quick explanation of the safemode: It was developed by @Tungstwenty and makes it possible to disable Xposed by repeatedly pressing one of the hardware buttons during early startup. The phone will vibrate twice when the first key press has been detected. Then you have five seconds to press the same button four more times. Each key press will be confirmed with a short vibration; the final one with a long vibration. It creates /data/data/de.robv.android.xposed.installer/conf/disabled, which prevents most of Xposed's actions (e.g. no hooks are made and no modules are loaded). There's no 100% guarantee that this will get you out of a bootloop, but in most cases it should.
As always, you can download it via the in-app updater or from http://dl.xposed.info/latest.apk.
This is Xposed version 2.5.1. The changes in this version are:
Added compatibility with CM11's new theming engine
Avoid conflict with LG G2's icon theming engine
Translation updates
I would like to express my disappointment again that too many people don't even spend two minutes to read at least the last few pages of a thread before posting problems. I have invested hundreds of hours - probably even more - into developing and supporting Xposed, so it feels disrespectful for me. Users like this are the minority and many others are very supportive, but it's really annoying.
As always, you can download it via the in-app updater or from http://dl.xposed.info/latest.apk.
This is Xposed version 2.6 beta1. The main changes in this version are:
UI refresh using the Cards UI pattern, mainly contributed by @GermainZ
New logo, created by @DD-Ripper
Detection of several known issues, a warning with link to the FAQ item will be shown
Release type selection in the downloader (only stable version are shown by default)
Many internal improvements in the framework, e.g. better resources compatibility and performance
In case you're looking for the Xposed-*-Recovery.zip files, they are stored in a subdirectory (Android/data/de.robv.android.xposed.installer/files) of the SD card now. This is the official Android API and will hopefully fix installation on some ROMs.
Also a big "thank you" to the translators, many translations have already been updated. You can see the status on the brand new translation overview page, with completion status and templates containing the strings yet to be translated: http://translate.xposed.info/
Note that I have already informed the primary translators about the upcoming version.
The full change log is on GitHub:
https://github.com/rovo89/XposedInstaller/commits/master
https://github.com/rovo89/XposedBridge/commits/master
https://github.com/rovo89/Xposed/commits/master
You can download the beta version from this post. Keep in mind that beta versions come with a bigger risk because they aren't tested on a big variety of devices/ROMs yet.
This is Xposed version 2.6 (final). The main changes in this version are:
UI refresh using the Cards UI pattern, mainly contributed by @GermainZ
New logo, created by @DD-Ripper (and no, there won't be an option to change it)
Detection of several known issues, a warning with link to the FAQ item will be shown
Release type selection in the downloader (only stable version are shown by default)
Many internal improvements in the framework, e.g. better resources compatibility and performance
Developers, please check this and following posts for information about API changes.
In case you're looking for the Xposed-*-Recovery.zip files, they are stored in a subdirectory (Android/data/de.robv.android.xposed.installer/files) of the SD card now. This is the official Android API and will hopefully fix installation on some ROMs.
Also a big "thank you" to the translators, many translations have already been updated. You can see the status on the brand new translation overview page, with completion status and templates containing the strings yet to be translated: http://translate.xposed.info/
The full change log is on GitHub:
https://github.com/rovo89/XposedInstaller/commits/master
https://github.com/rovo89/XposedBridge/commits/master
https://github.com/rovo89/Xposed/commits/master
As always, you can download it via the in-app updater or from http://dl.xposed.info/latest.apk.
This is Xposed version 2.6.1. The main changes in this version (compared to 2.6) are:
Fixed a crash with some apps (Disa, Rdio)
Some minor UI improvements
A few translation updates
Commits: https://github.com/rovo89/XposedInstaller/compare/2.6...2.6.1
As always, you can download it via the in-app updater or from http://dl.xposed.info/latest.apk.
I updated the main thread to indicate that the primary Xposed app is no longer in active development, and that EdXposed and LSPosed are the spiritual successors to Xposed and support the Xposed framework modules.
Hi, I'm a Korean Developer.
Recently Samsung has released android 5.0 lollipop for our devices.
But most of you may be ambarrased because the lollipop upgrade changed lots of things in system.
So I researched few days about it, and I've got several informations.
All of what I explain here is the result of my experiments.
In developers discussing forum, famous developers were discussing about "How we can mod lollipop system files".
Thanks to qwerty123258, Softdx's lollipop de-odexing tool has been known to here. But the problem is that how to re-odex the de-odexed apps,frameworks.
As our common sense, ART doesn't support de-odexed apks,jars so we have to re-odex them. But many of you may think we can't re-odex animore with the way we have used.
I agreed it at first.
So I've heard that de-odexed SecSettings,SystemUI apk with Softdx's tool don't work and have FCs. Thinking like this, we can think there is no solution. Especially, lots of custom ROM developers cannot make ROM without smali modding.
BTW, I saw that mods for nexus devices' lollipop are mostly de-odexed. But there is no problem.
Hold on, the ART definitely doesn't support de-odexed mods, but why mods for nexus doesn't have matter? You may think this doesn't make sense.
So I had doubt to this 'common thinks'.
And one day, I was putting Galaxy Note3's apps into my system that worked on KK.
FlashAnnotate app had FC, and Action memo popup also had FC. But the main app and widget of Action memo worked well.
Moreover, SuperSU that I used when rooting my S5 was also de-odexed app.
Isn't it strange to say "ART doesn't support de-odexed"? So I thought that Google didn't fully removed dalvik, they just inactivated it.
So I replaced the FlashAnnotate app with the one for Note4, and it worked well.
Then I put Note4's apps like S Note, Weather Widget, etc. As I expected, all of them worked with no FC!
Thus, it is wrong to say that the ART doesn't support de-odexed. It is the problem of that app.
What problem?
I asked to one of my friend, a Note3 mod-developer. He said that stock Note3 doesn't support ART natively.
This means that the developers of Note3's stock apps didn't care ART.
It has the same principle with the issue that the old version of stock apps like S health have FC on Galaxy S5 lollipop.
The structure of app's source code have to match with ART's structure.
In short, de-odexing have no relation with ART. FC issue is the compatibility issue of that app.
So the apps of after-KK-released-devices can be worked whether it is de-odexed or not.
Is this mean apps with FC cannot be used on lollipop? No. We can modify it to match with ART's structure. I mean, we can port it as API21(lollipop).
Let me pass to the other subject.
Most of you may think that re-odexing as the way we used, extracting dalvik-cache in the phone cannot be used and we must convert it as oat.
But, I re-odexed the main app of Action memo,what worked well even it was de-odexed, as the way we used.
It also works well while it is re-odexed.
Therefore, we can re-odex apps with the way we used.
BTW, as mentioned before, stock Settings and SysUI don't work when they're de-odexed and re-odexed.
It doesn't make sense according to the theories before. Then, what's the problem?
There is one that most of you may overlooked.
When you're de-odexing with Softdx's tool, generally most of you may think converting oat to dex is important and baksmaling/smaling process must be worked well.
But the problem was in baksmaling/smaling process.
When I was de-odexing stock settings app with Softdx's tool,
(look at the attached 1.png because I cannot insert image)
There were errors on smaling process. But I've never modded any smali of it.
When I looked the codes that made errors, not recognizing the '+'s on the pswitch code.
(look at the attached 2.png because I cannot insert image)
like this.
Many smali modders may know that there was no '+' on pswitch code when modding smali of KK or lower versions.
But after I remove all that '+', it can be compiled well but it has FC. Why? literally "It was modded".
It is reasonable to have FC because it was "modded", not compiled without modifications.
We can think of these two cases:
1. The structure of app's source code was entirely changed, so the last (bak)smali tool cannot recognize changed codes.
2. The structure of app's dex was entirely changed, so vanished parts are made when baksmaling with last tool.
We can conclude with these two cases.
After the release of (bak)smali tool that can completely baksmali/smali, we can do modifications.
I've heard that the developer of apktool is going to release new version for lollipop. So we have to wait a little bit.
Although we cannot do smali modding yet, we can put apks in system.
Why don't you put several apps in system and confirm what works or not?
Anyway, Thank you for reading my bad English...ahaha
If you have another opinion for my think, reply it.
Wow really much thnx for this!!
Presently: T-Mobile-Polska ROM (4.4.2 KitKat, Build ID: KOT49H) flashed 24-03-2015y.
Well customized, rooted, well tuned up with Xpose instaler modules etc., frozen bloatware
For several months it is proposed to update for a reason: Security Fix!
Is it worth updating at all? As such a "security fixes" used to mean user couldn't customize or tune OS, you could hardly detect any other difference!
However, what is the latest or simply the best ROM for the 64bit device?
(And where to download from?)
No matter stock or custom, just it needs fully work and has some nice "state of the art" builtin functionality
The other facilities will be acquired through the means above mentioned: root, Xpose, 3Ctools and some neat tools available on the market.
Possibly half of the stock system apps are just bloatware, so 3Ctools will help to cleanup them
You might try to ask the tech support what is in this update for example the MMS fix surely feels like must have (well known by now mms bug allowing to execute a code send by mms) but if that something you could manage to dodge on your own then just ignore it.
About the ROM with some nice looks n feels well we don't have any TBH we don't have any so called "daily driver" at all but I can suggest installing a custom launcher some of the more liked ones were on sale not so long ago you just have to track the app sales
I don't suggest any cause I don't know the forum rules regard the advertising.
Edit: There's Cyanogenmod 12 but it's bugged, not something u want to use daily.
ioy said:
Presently: T-Mobile-Polska ROM (4.4.2 KitKat, Build ID: KOT49H) flashed 24-03-2015y.
Well customized, rooted, well tuned up with Xpose instaler modules etc., frozen bloatware
For several months it is proposed to update for a reason: Security Fix!
Is it worth updating at all? As such a "security fixes" used to mean user couldn't customize or tune OS, you could hardly detect any other difference!
However, what is the latest or simply the best ROM for the 64bit device?
(And where to download from?)
No matter stock or custom, just it needs fully work and has some nice "state of the art" builtin functionality
The other facilities will be acquired through the means above mentioned: root, Xpose, 3Ctools and some neat tools available on the market.
Possibly half of the stock system apps are just bloatware, so 3Ctools will help to cleanup them
Click to expand...
Click to collapse
There's only 1 rom available for the 64 bit and that's the one patrik made the cm12 and it has a good amount of bugs so it's not suggested as a daily driver yet. Nothing else but that and stock.
Hello Everyone,
The AOSP pushed a patch that effectively breaks xposed. The CM team doesn't support xposed (in fact they don't even take bug reports from users who have it installed). That being said, they don't actively work against it either.
There is a comment found here, though it is for the d2, it applies to the other devices as well
http://forum.xda-developers.com/showpost.php?p=69631802&postcount=1162
The patch that AOSP pushed is going to require the xposed dev(s) to do something to work around it (or users can compile their own builds with a workaround).The CM team won't be reverting this new AOSP security measure, for obvious reasons
With that being said, the official XPosed Dev, Rovo89, is currently working on an XPosed modification/solution to this. You can see the work Rovo89 is performing here:
https://github.com/rovo89/XposedBridge/issues/129#issuecomment-260498284
When they figure out a solution, you will find it posted here:
http://forum.xda-developers.com/showthread.php?t=3034811
In the meantime, and unfortunately, if you want to keep using XPosed, you will have to keep using the last CM release that XPosed was working on (the pre-security updated release). And when XPosed has been modified to work on the pre-security releases of CM, then you will be able to update your CM ROM and all will be at peace (hopefully LOL!).
Good Luck...
Peace and Love!
Peace and Love!
~Ibuprophen
Thank you very much for the announcement, I'm really grateful!
It was difficult and difficult to always answer the uninformed about this subject, are causing a certain irritation to developers those users who repeat the same questions (as in the case of VoLTE)
Thank you for keeping us informed!
Some progress from CM team?
https://review.cyanogenmod.org/#/c/170575
Shivver said:
Some progress from CM team?
https://review.cyanogenmod.org/#/c/170575
Click to expand...
Click to collapse
CM's patch is aimed to fix issues on some devices having proprietary blobs that have file descriptor leaks which result in errors during boot.
(e.g. shield tablet in particular)
While this patch allows to white list xposed specific stuff at device configuration level, it was not aimed to serve this purpose at all.
This might help you http://forum.xda-developers.com/showpost.php?p=69699345&postcount=4504
here is the official fix => http://forum.xda-developers.com/showpost.php?p=69702111&postcount=4526
As the Android ecosystem has matured over the years, fewer and fewer users find reasons why they should root their device. There’s a growing trend of users choosing to stay on the stock firmware, either because they find the experience satisfactory or don’t want to play a cat-and-mouse game with Google’s SafetyNet API. But if you asked a user back in early 2016 why they rooted their phones, perhaps the number one reason that was given was so they could install the Xposed Framework. It’s been over a year since Android 7.0 Nougat was first released, but the long wait is finally over: official Xposed Framework for Android Nougat is finally available.
Why install the Xposed Framework?
Want to get custom ROM features without flashing a custom ROM? The mother of all Xposed Modules for tweaking your ROM, known as GravityBox, has you covered. Want to customize display settings on a per-app basis? Try App Settings. How about customizing certain applications like Hangouts? Or modifying Instagram so you can download whatever posts you like?
posed gives developers the ability to modify pretty much whatever they want—mostly aimed at individual applications but even system-wide features can be modified. The examples we listed is just the tip of the iceberg. The number of additional features you can add or apps you can modify is incredible—just search through the official Xposed Module repository to see for yourself. Keep in mind that some modules might need to be updated for this new release and for Nougat support, so be sure to check before installing them on your Nougat ROM!
How do Xposed Modules work?
The gist of it is that the Xposed Framework allows modules to “hook” into the Java methods of any application—be it user-installed or a system application. Xposed lets modules execute their own methods before, during, or in place of the original methods of the target application.
For instance, imagine a method used in the Gmail application that posts notifications for new emails. By default, the method creates a new notification with buttons to archive/delete or reply to the email. A Xposed Module could be made to hook into this method and add a new button such as “mark as read.” (Yes, there’s already a Module for just that.)
The above is an over-simplification of the end result of what the Xposed Framework allows its modules to do. The Framework itself is incredibly complex and making it work nearly universally on rooted devices—without needing a custom ROM—is why Xposed for Android Nougat has taken so long to complete. *install at your own risk, I'm not responsible for anything you do to your device.
Source link:
XDA
https://www.xda-developers.com/official-xposed-framework-android-nougat/
https://forum.xda-developers.com/showthread.php?t=3034811
Xposed
http://repo.xposed.info/
Installation:
Download the xposed zip file and flash it in recovery (framework files)
Now install the xposed apk
Reboot mobile
*dont open the app before installing the zip
Download link:
xposed-v88.2-sdk24-arm64.zip (7.0)
http://dl-xda.xposed.info/framework/sdk24/arm64/
xposed-v88.2-sdk25-arm64.zip (7.1)
http://dl-xda.xposed.info/framework/sdk25/arm64/
Xposed 3.1.4.apk
https://forum.xda-developers.com/attachment.php?attachmentid=4319220&d=1509453299
Download any module of your choice
http://repo.xposed.info/module-overview
What's the point of this thread? Is it just to get a few likes? Xposed is well known and people should refer to the original Xposed thread.
Besides your instructions are wrong.. and please be careful of which framework you use.. on stock it is sdk24 on other customers roms it depends on the Android version.
spunxhoe said:
What's the point of this thread? Is it just to get a few likes? Xposed is well known and people should refer to the original Xposed thread.
Besides your instructions are wrong.. and please be careful of which framework you use.. on stock it is sdk24 on other customers roms it depends on the Android version.
Click to expand...
Click to collapse
I use what I want, you don't want to take care about me and this thread., head to the source link to read the full thread that's all.