Xposed 2.4 beta1/beta2

This is Xposed version 2.4 beta1.

Support for Android 4.4 (KitKat)

Significant performance improvements of the framework

Viewer for the debug.log in the installer

Check in the installer whether Xposed is actually active and working

In detail:

Developers:

UPDATE: (beta2)

UPDATE:

The main new features and fixes in this version are:First of all,, from a little "thanks" to huge amounts of money. I was really impressed and hope you like this update.Xposed should now fully support. As mentioned, that wouldn't have been possible at this time without your support.Modules should continue to work if they don't rely on AOSP internals that have changed in KitKat. One example: It seems that the battery icon is no longer an (animated) image, but a Java implementation. Obviously, any modules that try to replace the battery image will no longer work. The Xposed framework can't do anything here, the module needs to be rewritten. Therefore, if some of your modules don't work, please get in contact with the module author first. You will probably see an error in the new debug.log viewer in this case.Xposed isn't compatible with, I can't say yet whether it will be in the future (will require a major rewrite if possible at all). As you would get into a bootloop if you try to combine Xposed+ART, Xposed automatically resets the choice to "Dalvik". If you want to test ART, you must uninstall the framework.Theapply to the very core of Xposed, the method hooks, in all Android versions. In a test app developed by @ exidler , the overhead per call used to be ~71 μs (= 0.071 ms) per call to a hooked method (with one empty callback handler) on my Galaxy S2. Now it's ~13 μs (= 0.013 ms). That's a relative improvement of factor ~5.5x. Thanks to @ exidler for the research and several suggestions! I have sent a pre-beta to @ kamso , who had reported lags with older versions. Now everything works fine for him. Anyway, I wouldn't say that Xposed had bad performance before. Keep in mind that we are talking about significantly less than a millisecond here.Theshould give a quick impression whether Xposed and modules could be loaded fine. It also includes options to save the log to SD card (so it's easier to transfer it to a PC etc.) and send it via mail.The Xposed Installer now checks whether the latest version of the framework is active. If not (e.g. because it's not installed yet, you forgot to reboot or something in Xposed doesn't work), you will see a warning in the welcome screen and at the top of the module list.Finally, there were some other minor improvements and fixes and new/updated translations.As a reminder, please. It's only helpful if it's not as spammed as logcat. You should only use XposedBridge.log() for error messages and other unexpected situations. If everything runs fine, it shouldn't write anything to the log. If you really need to keep some logging in published builds, please use either logcat or make it an opt-in options (i.e. disabled by default and the user enables it if he runs into problems).Apart from that, there was aI assume that very few modules use the "extra" field to transfer information between beforeHookedMethod() and afterHookedMethod(). If you do, simply replace it by getExtra().now also work if the layout has been included in other layouts. That's actually a pretty tricky use-case for the "extra" parameter mentioned about (and other tricky technologies).If for some reason you need to determine the activein your module, you can use XposedBridge.XPOSED_BRIDGE_VERSION.findMethodBestMatch() now also looks for protected and package-private methods in superclasses. That's mainly useful if you use the callMethod() or callStaticMethod() helper.The new beta should fix the "" errors. If you used to experience them, please try this version. Otherwise, there is no need (and no advantage) to update.The final version is out, please use it instead (see first post / in-app installer).