Default Xposed 2.2 final

2.2

Changes:
  • Integrated downloader for the framework and new modules. You can search for new ones and will see when updates are available. See below for more comments on this.
  • Restructured UI. There is now a welcome screen to give you a quick overview of your options. The tabs were not feasible anymore after adding downloader, settings and about screen.
  • Support for Android 4.3. Note that the binaries for Android 4.1, 4.2 and 4.3 are the same now. They are compiled against 4.1 and I tested them on 4.2.2 and 4.3, so I don't expect problems.
  • More/updated translations. Thanks to all translators!
  • M66B's fix for the binary is included (required for XPrivacy).
  • ACCESS_SUPERUSER permission is declared now.
  • More error output is shown when installing the framework.
  • Avoid the toast message when updating apps while the framework is uninstalled (but the installer is still present).
  • Fixed scaling issue for apps running in compatibility mode.

You can download it from http://dl.xposed.info/latest.apk. This URL will point to the latest stable version from now on, so you can link to it from your app that uses Xposed.

I have now also opened the module repository that feeds the builtin downloader: http://repo.xposed.info/
No login is required to browse and download modules. It currently contains the modules which were on the original repository by @pulser_g2.

Uploading and updating modules is also very easy. Just log in via OpenID with your XDA account (thanks to @bitpushr for making this possible!). This also makes sure that the author information is correct, i.e. you can be sure that modules uploaded by user @Tungstwenty on that site are really by him and not by someone who took his name.


Changes/enhancements for developers:
  • New method XSharedPreferences.makeWorldReadable(). You can use it in initZygote to restore world-readable permissions which can get lost due to permission "fix" scripts in some kernels or recoveries. You still have to use MODE_WORLD_READABLE when working with preferences in your UI.
  • Hooks are disabled if instrumentation is enabled - these two can't work together.
  • The layout inflation callback is no longer invoked if the layout couldn't be loaded.
  • Replacing colors now also works when the color is used as a drawable (e.g. via android:background="@color/header"). Xposed automatically creates a ColorDrawable if the replacement for something retrieved by getDrawable() is an integer.
  • The callMethod() helper now works for methods inherited from the superclass (but not declared in the subclass).
  • returnConstant() with priority wasn't using it, now it is.
If you want to use any of this, please declare xposedminversion="30+" in your manifest (why such a high version?). New API is attached to the first post.
Tired of updating your mod for every new ROM release?
You want give users the possibility to combine different mods without creating tons of different files for all possible combinations?
Then have a look at my Xposed framework - modifications without APK changes!