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

Status
Not open for further replies.
Search This thread

SilencerOfLambs

Senior Member
Dec 8, 2011
1,832
1,100
Mumbai
Excellent.I have been looking for something like this.I really hope more people take notice of this. :)
I am going to try this now.I just have one question.Do we uninstall it like a normal apk or do we need to do something from withing the application?Sorry if this sounds silly :|

---------- Post added 17th May 2012 at 12:11 AM ---------- Previous post was 16th May 2012 at 11:53 PM ----------

It works flawlessly on my SGS2 running the latest dxlp9 firmware.

I just wanted to know one thing.If at all i wanted to uninstall it,would i uninstall it like any other apk or do i need to follow a certain procedure inside the application?


And many thanks for this great work.I was looking for something like this. :):)


EDIT-..Just one small bug.The signal bars dont show 5/6 bars when selected.Instead it shows a blank image(like when there is no signal).

EDIT 2-..This is a tiny tiny bug.The CRT works great.But i noticed if i lock the phone,unlock it and wait for like 5 seconds and then press the power button(to lock it again),then i don't get the CRT effect.
However if i lock it,unlock it and immediately lock it after that I do get the CRT effect.(This is a very random bug..It doesnt happen everytime)
 
Last edited:

rovo89

Senior Recognized Developer
Jan 4, 2012
2,585
81,434
There is an option in the installer to uninstall Xposed. Uninstalling the app alone does nothing in this aspect.

The problem with the status bar has been reported before, but I cannot reproduce it. Have a look at the other thread, I asked some questions to the reporter there.
 

shramos@gmail.com

New member
Jun 19, 2009
2
0
Value too large for defined data type.

Hello, I'm trying to install Xposed and I am having the following error message:

Mounting /system writable...
cp: can't stat '/system/bin/app_process': Value too large for defined data type.

Any ideas what could be causing this?
 

rovo89

Senior Recognized Developer
Jan 4, 2012
2,585
81,434
Probably Busybox.. someone reported the same error before and updating Busybox solved it.
 

rovo89

Senior Recognized Developer
Jan 4, 2012
2,585
81,434
Finally, after two months of hard work, here is a new version of the Xposed framework, 2.0rc1. :)

First of all, I would like say a big "thank you" to Tungstwenty. We had lots of discussions and brainstorming in these two months, which I feel led to a even more stable framework and a more elegant development environment.

The changes might not sound very exciting - the main new thing is the replacement of native libraries like libsurfaceflinger.so (which is needed for the CRT effect). But the special thing is that this doesn't touch the actual library, you will get your old library back if you disable the module. And even more, you choose a library only for a test-mode, which is activated by a click of a button (which triggers a soft reboot). When you reboot, the library will be gone - so you can test new libraries without any risk.

Many more improvements were done under the hood, they are mostly interesting for module developers. Lots of things are easier now, lots of helpers have been added.
The downside is that previously developed modules are incompatible with this. But don't worry, this is only true for the methods you need use to manipulate the code. The concepts in general stayed the same and you do not need find out which methods to hook again.

There is another incompatible change. Previously, I had published apps with the debug key. Now, I have signed them with a productive key. This means you will have to uninstall the old version first before installing the new one.

This release is still classified as a "release candidate" - but both Tungstwenty and me have been using the "bleeding edge" versions for daily, productive use, so we are confident that it will work for you, too.
 

Phil3759

Inactive Recognized Developer
May 30, 2012
9,579
33,063
Finally, after two months of hard work, here is a new version of the Xposed framework, 2.0rc1. :)

First of all, I would like say a big "thank you" to Tungstwenty. We had lots of discussions and brainstorming in these two months, which I feel led to a even more stable framework and a more elegant development environment.

The changes might not sound very exciting - the main new thing is the replacement of native libraries like libsurfaceflinger.so (which is needed for the CRT effect). But the special thing is that this doesn't touch the actual library, you will get your old library back if you disable the module. And even more, you choose a library only for a test-mode, which is activated by a click of a button (which triggers a soft reboot). When you reboot, the library will be gone - so you can test new libraries without any risk.

Many more improvements were done under the hood, they are mostly interesting for module developers. Lots of things are easier now, lots of helpers have been added.
The downside is that previously developed modules are incompatible with this. But don't worry, this is only true for the methods you need use to manipulate the code. The concepts in general stayed the same and you do not need find out which methods to hook again.

There is another incompatible change. Previously, I had published apps with the debug key. Now, I have signed them with a productive key. This means you will have to uninstall the old version first before installing the new one.

This release is still classified as a "release candidate" - but both Tungstwenty and me have been using the "bleeding edge" versions for daily, productive use, so we are confident that it will work for you, too.

Great,

But on its own it is useless I guess? Where are the modules to add call recording, locale or any other module?
Or is it now only for developers to code their modules?
 

Phil3759

Inactive Recognized Developer
May 30, 2012
9,579
33,063
You can find the list of known modules in the first post:



Ok, right now, there is only one, but it has quite many features. ;)

I missed that module, sorry

Looks promising
Can I use it on JKay framework? I want to try call recording (think not affected by Jkay) and disable input notification (which is in the framework but not yet switchable by Jkay app)
 

rovo89

Senior Recognized Developer
Jan 4, 2012
2,585
81,434
I'm pretty sure it will work. I think Tungstwenty is using it like this. Also, JKay's mods are based on stock ROMs and the modifications shouldn't have changed the code too much for Xposed mods to work.

This is the good thing: It works on top of almost every ROM that isn't entirely different than what is was built for. And the other good thing is: If you ever want to use the unmodified ROM again, you can just disable the module. No need to flash the ROM or mods again as all changes done with Xposed are applied during runtime.
 

Phil3759

Inactive Recognized Developer
May 30, 2012
9,579
33,063
I'm pretty sure it will work. I think Tungstwenty is using it like this. Also, JKay's mods are based on stock ROMs and the modifications shouldn't have changed the code too much for Xposed mods to work.

This is the good thing: It works on top of almost every ROM that isn't entirely different than what is was built for. And the other good thing is: If you ever want to use the unmodified ROM again, you can just disable the module. No need to flash the ROM or mods again as all changes done with Xposed are applied during runtime.

So it must be a running process on boot?
 

rovo89

Senior Recognized Developer
Jan 4, 2012
2,585
81,434
The Xposed framework and the modules aren't apps in the classical sense. In the first post, I have mentioned a few technical details how it works. In short: Once it is installed and you reboot your phone, it will just be there, not as another app but as a part of every running app.
If you are worried about battery lifetime or performance: In the past months, I didn't notice any such effects. There are no additional wakelocks, services etc. and the added code is not much compared to the many lines of code that are executed anyway.
 

Phil3759

Inactive Recognized Developer
May 30, 2012
9,579
33,063
Thank you very much (out of my 8 thanks for today, sorry)

I will give it a try and come back here to give a feedback
 

Tungstwenty

Senior Member
Nov 1, 2011
1,830
4,512
Can I use it on JKay framework? I want to try call recording (think not affected by Jkay) and disable input notification (which is in the framework but not yet switchable by Jkay app)
Yes. As rovo mentioned, I'm using Tweakbox at the same time as JKay and there's no collision whatsoever. There a few things that are provided by both - e.g. CRT effects, SIP, signal strength bar count - but ultimately you can use one or the other for that. At worst, one will override the settings from the other.

Examples:
For CRT, currently I am using Tweakbox since we finally achieved both Off and On effects, plus doing the effect in landscape when the phone is rotated, if you wish. I have therefore disabled CRT in JKay and the lib provided by his framework is being overridden at boot time (without touching /system) by a newer one included in Tweakbox. (for this one, I think probably Tweakbox will take precedence irrespective of CRT and "Fast screen off" on JKay).
For SIP, I have it off in Tweakbox since JKay already activates that (plus I don't use it).
 
  • Like
Reactions: Phil3759

Phil3759

Inactive Recognized Developer
May 30, 2012
9,579
33,063
Thank you for the information

Any plans on the locale plugin?
 

Tungstwenty

Senior Member
Nov 1, 2011
1,830
4,512
Thank you for the information

Any plans on the locale plugin?
Yes, it's on the todo list.

Actually, the feature is already in there :), you just need to configure it manually since a proper GUI is the thing that's missing.
First make sure that Tweakbox isn't running, not even cached. Go to Settings, Applications, Running and see if there's any Tweakbox entry both in the services and in the cached processes view. Terminate it if so.
Then edit your /data/data/de.robv.android.xposed.mods.tweakbox/shared_prefs/de.robv.android.xposed.mods.tweakbox_preferences.xml file and create entries such as these ones:
Code:
<map>
...
<int name="dpioverride/default/density" value="200" />
<int name="dpioverride/com.swype.android.inputmethod/density" value="240" />
<int name="dpioverride/com.sec.android.app.twlauncher/density" value="240" />
<int name="dpioverride/com.android.contacts/density" value="240" />
<int name="dpioverride/com.android.email/density" value="240" />
<int name="dpioverride/com.sec.android.app.calculator/density" value="240" />
<int name="dpioverride/com.sec.android.app.camera/density" value="240" />
<int name="dpioverride/com.sec.android.inputmethod.axt9/density" value="240" />
[COLOR="Blue"]<string name="dpioverride/com.google.android.apps.maps/locale">[B]pt_PT[/B]</string>
<string name="dpioverride/com.google.android.apps.genie.geniewidget/locale">[B]pt_PT[/B]</string>[/COLOR]
</map>
These are the actual settings I'm currently using. I changed my default density to 200, and then included some exceptions of apps that don't look good with different resolutions, so for those I put the original 240 as default.
The same for language - you can see that I'm setting 2 apps to use Portuguese, while I have the global device configuration in English.
Once you save these changes and reboot, you should have the new app-specific settings.

Note that if you override the default density, you should enable on the Tweakbox GUI the option to "Fake 240 DPI for Play Store" if it's not already active. Otherwise you might start missing some applications because they are restricted to certain screen densities.
 

Phil3759

Inactive Recognized Developer
May 30, 2012
9,579
33,063
Thank you for the details on locale + dpi (sorry, out of my 8 thanks for today)

I tested the app

First: Great release for a RC build, Thank you a lot

Now, I tried to install and things start bad :rolleyes:
Installed Xposed installer apk
Launch app
click Install/Update
Grant root access
Click reboot
Grant root access: hangs, no FC
Home button works, kill with task manager and reboot manually
First boot is slow, also after enable module

Next steps with tweakbox were ok

What I needed actually works, great and thank you
- Call recording
- disable keyboard notification



My issues:

1. boot is slowed, even after modifications (can live with it)

2. first hang up on reboot from app during root grant: killed with task manager

3. when try to "Clean up complete remove): hangs, could only shutdown by power button menu. After reboot, clean up works

4. tweakbox: here is my big issue with many confusion with JKay. Some redundant entries with Jkay mod cannot be disabled in tweakbox while other options can. They override the JKay settings. You need to configure them manually in the Tweakbox
- CRT effect: despite not enabling in Tweakbox and not enable the library in Tweakinstaller, it will override and disable JKay CRT off effect. It needs to be set in your app
- SIP: when disabled in your app, JKay can still activate it
- Signal strength: if set on 4 in your app, it is not disabled. When JKay is set to 6 bars, only 4 are shown (ugly icon effect on full signal)
- I use another app to configure long home menu and the tweakbox will override it always
- Battery full notification: did not test it


What I would expected was to be able to disable the parts of code I do not like. For example, CRT: have an option to ignore it in your app so that the Jkay mod does it. Advantage of JKay mod is that settings are immediate, yours needs a reboot

So if you can add an option to enable / disable code instead of toggle function, it will be great. We use parts we like and completely disable other parts

I will try the locale now

Thank you a lot and hope a final release fixes soon these small issues

---------- Post added at 10:34 PM ---------- Previous post was at 10:23 PM ----------

I edited the part about signal. Sadly, xposed wins here too. When set on 4, it is not disabled. We end with 6 bars icon on JKay but only 4 max active on full signal

So, all the tweaks are forced and not switchable
 
Last edited:
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 638
    Xposed 2.4 beta1/beta2

    This is Xposed version 2.4 beta1. The main new features and fixes in this version are:
    • 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

    First of all, I would like to thank the 45 people who donated to get me a Nexus 5, from a little "thanks" to huge amounts of money. I was really impressed and hope you like this update.

    In detail:
    Xposed should now fully support KitKat. 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 ART, 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.

    The performance improvements apply 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.

    The debug.log viewer should 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.


    Developers:
    As a reminder, please keep the debug.log clean. 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 a little API change: https://github.com/rovo89/XposedBridge/commit/3c18f6f6bd4e0ec57898b3b3a79b5584d0396054
    I assume that very few modules use the "extra" field to transfer information between beforeHookedMethod() and afterHookedMethod(). If you do, simply replace it by getExtra().

    Layout inflation hooks 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 active XposedBridge version in 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.

    UPDATE: (beta2)
    The new beta should fix the "read-only filesystem" errors. If you used to experience them, please try this version. Otherwise, there is no need (and no advantage) to update.

    UPDATE:
    The final version is out, please use it instead (see first post / in-app installer).
    479
    The ART of patience

    Regarding ART possibly becoming the default runtime engine: I think that's good news because it means that we will get a stable version of ART then. I'm reluctant to work further on ART support at the moment for mainly three reasons:

    1. Time. I used to spend every evening and every weekend for Xposed, either to give support here (often answering the same questions again and again), writing code or researching about bugs or new ideas. As you may have noticed, there are now days or even weeks where I don't even log on to XDA, and I'm actually glad about this.

    2. Experimental software is bound to contain bugs, even severe ones. There is a reason why Google didn't make this choice available for the typical user (and keep in mind, we are not typical users). I neither want people to blame Xposed if their phone starts acting up nor do I want to hunt bugs which are caused by a runtime engine that is explicitely labelled as not finished yet.

    3. As long as ART is experimental, it's much easier to make big changes to the code. Once a final version is out and used by the masses, quality engineers we be much more careful not to break things. That means that Xposed for ART on 4.5 (or whatever it will be called) might need to be completely different than for ART on 4.4. More variants means more time for maintenance. And I don't feel like pushing something out now just to drop support again in a later version. There is not enough benefit of using ART at the moment to justify that.

    You know, I had already worked on ART support and spent several dozens of hours reading the code, looking for ways to hijack it, implementing my ideas, doing trial and error and starting again from the beginning. I finally had my Nexus 5 boot with Xposed in early December and quickly tested the App Settings module. I'm happy about that, but I also know that this was just a very experimental version, less ready than ART itself. It is totally hacked together and only tested with the stock ROM. ART is quite complex and has several different modes. It's not worth giving the current development to someone else before I have tested these things on my phone, where I can debug much better than instructing someone else to do it. It also requires rewriting app_process to be a light executable again, which loads either the Dalvik or ART Xposed library, depending on your settings. That would require changes in the installer as well, etc. etc.

    So you see, there is still lots of work to do. At the moment, I'm not actively working on it, but trying to get some other things fixed (e.g. LG ROMs) or improved (installation via recovery, better installation feedback in case root access failed, static Busybox package). And as I said, I do have other things in my life as well. It's not about money, that's what I have my full-time job for. I work on Xposed for fun (and maybe a bit for the reputation ;)), so the best way to ensure that I keep on working on it is not taking away the fun part of it. Don't pressure me like it was my duty to implement something ASAP (!!!), be patient even if it takes a bit longer until I answer and join the volunteers who help answering basic questions here so I don't have to. Thanks!
    317
    General information on Xposed has been moved to this thread: http://xdaforums.com/xposed/xposed-installer-versions-changelog-t2714053
    The FAQ has been moved to this thread: http://xdaforums.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).
    222
    Xposed Framework Installer (Flashable Zip)

    Announcement: Xposed Framework v2.5+ comes with an option to flash its own install zip via recovery, making my package obsolete. I'll leave them up for posterity; could be useful should the need arise for downgrading on some devices. Cheers all! 10000 downloads is pretty cool. :)

    Xposed Framework v2.2+ has fixed JB4.3 installation and v2.4+ has added support for KK4.4, but for those that still want it, or cannot install via the APK due to /system write protection like HTC's S-ON, here is an updated zip frontend method for installing the framework; now for Xposed Framework v2.4.1.

    You MUST have the Xposed Installer APK installed FIRST. The zip will detect if you do not and stop.

    Flash this in recovery and my frontend script (the update-binary) will detect the correct architecture and SDK version to use the appropriate Xposed app_process and busybox builds (x86, armv5, v6 and v7 & sdk 15 and 16+ supported), and should detect the uid of the Xposed Installer APK on-the-fly and set up the required files with it.

    It leaves a log behind in /data/local/tmp/xposed-log.txt either way with more details about how it went. :cool:

    It also unpacks Xposed-Disabler-Recovery.zip to /sdcard/ (or /sdcard/0/ if it exists) to be as close to the APK install method as possible. For those wanting another method to reactivate after a ROM update or toggle Xposed disabled/enabled, @amishxda has also created a cool "Xposed toggler" zip here.

    Note: Xposed Framework files and the install.sh used are the work of @rovo89 and @Tungstwenty; I have only created a recovery flashable zip to function as an alternative frontend for the framework installation process. I take no credit for their fantastic work.


    P.S. If you found this handy then please check out my Odds and Ends thread for more flashable goodness. :D

    5351 downloads of v2.1.4 when removed. 1049 downloads of v2.2 when removed.
    193
    Xposed 2.5 final

    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.