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

Status
Not open for further replies.
Search This thread

strix75

Senior Member
Aug 2, 2009
1,101
115
93
Gothenburg
I tried to install in my i9300 with today's leaked 4.2.2 and finished in a bootloop, is a know bug or what? The rom ok is leak, but should be somehow very similar to s4 rom..
No problem in 4.1.2 releases..

Works great for me on latest i19300 4.2.2 leaked firmware and exposed 1.4
ver 1.3 will cause a bootloop so update to xposed ver 1.4 and it will work great.
 
  • Like
Reactions: erto90

dems

Member
Apr 30, 2007
47
1
0
Hi from Spain,
I wanna make the nova launcher in landscape like a tablet, but I try and try and I only have a black screen with the nav bar.
So, someone can pass me the configuration for this???
Tkx

Enviado desde mi GT-I9300 usando Tapatalk 2
 

wimaxsatx

Member
Jun 18, 2010
5
1
0
San Antonio
Samsung GS3 Sprint - Crashed

In case you get into a boot loop:
You can flash the attached Xposed-Disabler-CWM.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).
You could also create a file /data/xposed/disabled, which causes Xposed to be bypassed as well.


Well, I'm in a boot loop, or just a plain freeze during boot. I'm running the GS3 on Sprint, SPH-L710, with CWM and ThePeoplesRom ver 316, KTOONSEZ Kernel.

Downloaded the XPOSED Installer module, opened, clicked the Install / Update button. It said done, and reboot. I rebooted and boom!

Starts, gets to the screen, starts loading the battery charge icon, the speaker / sound icon, and kaboom! I'm dead in the water.

Some steps taken since...

  • Tried running the XPOSED-DISABLER-CWM.ZIP file, says file not found
  • Tried restoring from backup image, CWM says MD5 doesn't match
  • Tried reinstalling the same version of the rom currently installed. No dice
  • Cleared the cache. No dice
  • Cleared the Davlik-cache. No dice

I'm not an android programmer, just a user. I connected my phone via USB to my computer, opened it in the Windows Browser, went to the "phone", "data" folder and created a "xposed" folder. Used Notepad to create a TXT file named "disabled" without the .txt suffix. When that didn't work, I copied it to all three /data directories I could locate on the phone, internal SD /0/data and external SD /data

Still busted. Perhaps I'm missing something that seems obvious to those who are up to their eyebrows in this programming world. I can't find a directory folders for system/app/

  • I had Titanium Backup Pro installed and running with current backups of everything.
  • I had multiple other backup programs working, such as Lookout and some SMS backup programs, Bookmark backup programs, Dropbox and Google Drive was active and working.

Am I hosed, or what? I need this phone working and shouldn't have tried playing around with it, or at least that's what my wife will be telling me when she wakes up this morning. :( She's probably right.

Any suggestions? Almost ready to do a Data Wipe & Factory Reset on the phone.

Lee
(I'd list my cell # but since it's hosed, that won't work)
lee @ wimaxsatx dot com
 
Last edited:

rovo89

Senior Recognized Developer
Jan 4, 2012
2,585
81,217
203
Permisson of busybox-xposed has denied on SGS4 got su via supercurio's StupidSU.
I tried to run install.sh via terminal beause of FC. The reason of FC what I found is lost permission.

Try setting permissions manually, not sure which permissions you get after unpacking. I don't even know if I permissions are stored in zip files.

Hey rob all of it modules work fine except the crt effect on LG optimus 3d I would like to work on that module to support all phones do I have a permission

Good luck with that... you are welcome to try it, but at least on the phones I know about, this required editing a native library, which is lots of times harder than editing smali code and not even portable between different ROM versions on the same device.

  • Tried running the XPOSED-DISABLER-CWM.ZIP file, says file not found
  • Tried restoring from backup image, CWM says MD5 doesn't match
  • Tried reinstalling the same version of the rom currently installed. No dice
  • Cleared the cache. No dice
  • Cleared the Davlik-cache. No dice

I would concentrate on those. I can't remember seeing a "file not found" message when flashing a file (in this case, the disabler.zip). What's the exact message? If you don't have the file on your sdcard, you can download it from the first post. Then just flash it.
I'm also wondering why reinstalling the ROM didn't help. As it includes the file that Xposed has overwritten, Xposed shouldn't be active anymore... same if you restore only the /system partition from a backup.
Finally, do you have adb installed? Not sure if there is a tutorial for that, but you might be able to connect with it to your phone via the command "adb shell" (executed from your PC's command line window) while booting and/or in recovery mode. If you have that, I can tell you how to restore the file manually.

Wiping data might also help. If it formats /data completely, Xposed will no longer find /data/xposed/XposedBridge.jar and will skip its initialization. But I'm not sure what exactly "wipe data" does.

Does anyone have the module to change the language for Google Now? Since the website is down, I can't find this module anywhere.

It's App Settings. Use this temporarily: http://mohammadag.xceleo.org/public/Android/Xposed/
 

wimaxsatx

Member
Jun 18, 2010
5
1
0
San Antonio
Data wipe & factory reset did the trick

Any suggestions? Almost ready to do a Data Wipe & Factory Reset on the phone.

Lee
(I'd list my cell # but since it's hosed, that won't work)
lee @ wimaxsatx dot com

I went ahead and did the Data Wipe & Factory Reset on the phone. What a pain! But at least I had all of my backups to restore data from.
Phone is now working.

Bottom line.. If you are running ThePeoplesRom, its probably not compatible with XPOSED, at least at this time.

Lee
 

Fiouz

Member
Apr 16, 2010
39
53
0
Unit tests/instrumentation support?

Hi,

I'm no longer able to execute Android test projects with the patched app_process, I get the following error: ClassNotFoundException: Didn't find class "android.test.InstrumentationTestRunner"

All modules have been disabled:
Code:
--------- beginning of /dev/log/main
05-21 22:39:24.315  8270  8270 D Xposed  : Starting Xposed binary version 34, compiled for SDK 17
05-21 22:39:24.315  8270  8270 D Xposed  : Phone: Nexus 4 (LGE), Android version 4.2.2 (SDK 17)
05-21 22:39:24.315  8270  8270 D Xposed  : ROM: cm_mako-userdebug 4.2.2 JDQ39E eng.jenkins.20130510.223604 test-keys
05-21 22:39:24.315  8270  8270 I Xposed  : -----------------
05-21 22:39:24.315  8270  8270 I Xposed  : Added Xposed (/data/xposed/XposedBridge.jar) to CLASSPATH.
05-21 22:39:24.315  8270  8270 D AndroidRuntime:
05-21 22:39:24.315  8270  8270 D AndroidRuntime: >>>>>> AndroidRuntime START de.robv.android.xposed.XposedBridge <<<<<<
05-21 22:39:24.315  8270  8270 D AndroidRuntime: CheckJNI is OFF
05-21 22:39:24.365  8270  8270 I Xposed  : Found Xposed class 'de/robv/android/xposed/XposedBridge', now initializing
05-21 22:39:24.476  8270  8270 I Xposed  : -----------------
05-21 22:39:24.476  8270  8270 I Xposed  : May 21, 2013 8:39:24 PM UTC
05-21 22:39:24.476  8270  8270 I Xposed  : Loading Xposed (for com.android.commands.pm.Pm)...
05-21 22:39:24.506  8270  8270 D AndroidRuntime: Calling main entry com.android.commands.pm.Pm
--------- beginning of /dev/log/system
05-21 22:39:24.526 26712 26733 W ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/ApiDemosTest-debug.apk
05-21 22:39:24.526 26712 26730 I ActivityManager: Start proc com.android.vending for broadcast com.android.vending/com.google.android.vending.verifier.PackageVerificationReceiver: pid=8290 uid=10059 gids={50059, 3003, 1015, 1028}
05-21 22:39:24.726  8290  8322 I PackageParser: com.example.android.apis.tests: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE
05-21 22:39:25.296 26712 26733 W ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/ApiDemosTest-debug.apk
05-21 22:39:25.296 26712 26733 I PackageManager: Copying native libraries to /data/app-lib/vmdl-1160330814
05-21 22:39:25.327 26712 26733 I PackageParser: com.example.android.apis.tests: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE
05-21 22:39:25.377 26712 26733 I PackageManager: Removing non-system package:com.example.android.apis.tests
05-21 22:39:25.377 26712 26730 I ActivityManager: Force stopping package com.example.android.apis.tests appid=10278 user=-1
05-21 22:39:25.767 26712 26733 I PackageManager: Package com.example.android.apis.tests codePath changed from /data/app/com.example.android.apis.tests-1.apk to /data/app/com.example.android.apis.tests-2.apk; Retaining data and using new
05-21 22:39:25.777 26712 26733 I PackageManager: Running dexopt on: com.example.android.apis.tests
05-21 22:39:25.827 26712 26733 W PackageManager: Code path for pkg : com.example.android.apis.tests changing from /data/app/com.example.android.apis.tests-1.apk to /data/app/com.example.android.apis.tests-2.apk
05-21 22:39:25.827 26712 26730 I ActivityManager: Force stopping package com.example.android.apis.tests appid=10278 user=-1
05-21 22:39:25.827 26712 26733 W PackageManager: Resource path for pkg : com.example.android.apis.tests changing from /data/app/com.example.android.apis.tests-1.apk to /data/app/com.example.android.apis.tests-2.apk
05-21 22:39:26.007 26712 26733 D PackageManager: New package installed in /data/app/com.example.android.apis.tests-2.apk
05-21 22:39:26.137 26712 26733 I ActivityManager: Force stopping package com.example.android.apis.tests appid=10278 user=0
05-21 22:39:26.207 26712 26762 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-21 22:39:26.288 26712 26762 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-21 22:39:26.378 26712 27088 W ActivityManager: Unable to start service Intent { act=com.google.android.gms.analytics.service.START (has extras) } U=0: not found
05-21 22:39:26.498 26712 26745 W AccessibilityManagerService: Skipping accessibilty service com.example.android.apis/.accessibility.ClockBackService: it does not require the permission android.permission.BIND_ACCESSIBILITY_SERVICE
05-21 22:39:26.498 26712 26745 W AccessibilityManagerService: Skipping accessibilty service com.example.android.apis/.accessibility.TaskBackService: it does not require the permission android.permission.BIND_ACCESSIBILITY_SERVICE
05-21 22:39:26.578  8270  8270 D AndroidRuntime: Shutting down VM
... lots of receivers being fired ...
05-21 22:39:31.243  8731  8731 D Xposed  : Starting Xposed binary version 34, compiled for SDK 17
05-21 22:39:31.243  8731  8731 D Xposed  : Phone: Nexus 4 (LGE), Android version 4.2.2 (SDK 17)
05-21 22:39:31.243  8731  8731 D Xposed  : ROM: cm_mako-userdebug 4.2.2 JDQ39E eng.jenkins.20130510.223604 test-keys
05-21 22:39:31.243  8731  8731 I Xposed  : -----------------
05-21 22:39:31.243  8731  8731 I Xposed  : Added Xposed (/data/xposed/XposedBridge.jar) to CLASSPATH.
05-21 22:39:31.243  8731  8731 D AndroidRuntime:
05-21 22:39:31.243  8731  8731 D AndroidRuntime: >>>>>> AndroidRuntime START de.robv.android.xposed.XposedBridge <<<<<<
05-21 22:39:31.243  8731  8731 D AndroidRuntime: CheckJNI is OFF
05-21 22:39:31.283  8731  8731 I Xposed  : Found Xposed class 'de/robv/android/xposed/XposedBridge', now initializing
05-21 22:39:31.453  8731  8731 I Xposed  : -----------------
05-21 22:39:31.453  8731  8731 I Xposed  : May 21, 2013 8:39:31 PM UTC
05-21 22:39:31.453  8731  8731 I Xposed  : Loading Xposed (for com.android.commands.pm.Pm)...
05-21 22:39:31.493  8731  8731 D AndroidRuntime: Calling main entry com.android.commands.pm.Pm
05-21 22:39:31.503 26712 26733 W ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/ApiDemos-debug.apk
05-21 22:39:31.733  8290  8746 W PackageParser: No actions in intent filter at /data/local/tmp/ApiDemos-debug.apk Binary XML file line #2606
05-21 22:39:31.733  8290  8746 W PackageParser: No actions in intent filter at /data/local/tmp/ApiDemos-debug.apk Binary XML file line #2612
05-21 22:39:31.793 26712 26782 D ConnectivityService: handleInetConditionHoldEnd: net=1, condition=100, published condition=100
05-21 22:39:32.444  8290  8310 I qtaguid : Failed write_ctrl(u 50) res=-1 errno=22
05-21 22:39:32.444  8290  8310 I qtaguid : Untagging socket 50 failed errno=-22
05-21 22:39:32.444  8290  8310 W NetworkManagementSocketTagger: untagSocket(50) failed with errno -22
05-21 22:39:32.504 26712 26733 W ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/ApiDemos-debug.apk
05-21 22:39:32.504 26712 26733 I PackageManager: Copying native libraries to /data/app-lib/vmdl-981404885
05-21 22:39:32.764 26712 26733 W PackageParser: No actions in intent filter at /data/app/vmdl-981404885.tmp Binary XML file line #2606
05-21 22:39:32.764 26712 26733 W PackageParser: No actions in intent filter at /data/app/vmdl-981404885.tmp Binary XML file line #2612
05-21 22:39:33.355 26712 26733 I PackageManager: Removing non-system package:com.example.android.apis
05-21 22:39:33.355 26712 26730 I ActivityManager: Force stopping package com.example.android.apis appid=10279 user=-1
05-21 22:39:33.756 26712 26733 I PackageManager: Running dexopt on: com.example.android.apis
05-21 22:39:33.756 26712 26733 W PackageManager: Package com.example.android.apis desires unavailable shared library com.example.will.never.exist; ignoring!
05-21 22:39:33.756 26712 26733 I PackageManager: Package com.example.android.apis codePath changed from /data/app/com.example.android.apis-1.apk to /data/app/com.example.android.apis-2.apk; Retaining data and using new
05-21 22:39:35.287 26712 26733 W PackageManager: Code path for pkg : com.example.android.apis changing from /data/app/com.example.android.apis-1.apk to /data/app/com.example.android.apis-2.apk
05-21 22:39:35.287 26712 26733 W PackageManager: Resource path for pkg : com.example.android.apis changing from /data/app/com.example.android.apis-1.apk to /data/app/com.example.android.apis-2.apk
05-21 22:39:35.297 26712 26730 I ActivityManager: Force stopping package com.example.android.apis appid=10279 user=-1
05-21 22:39:35.477 26712 26733 D PackageManager: New package installed in /data/app/com.example.android.apis-2.apk
05-21 22:39:35.648 26712 26733 I ActivityManager: Force stopping package com.example.android.apis appid=10279 user=0
05-21 22:39:35.808 26712 26762 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-21 22:39:35.838 26712 26762 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-21 22:39:36.008 26712 27002 W ActivityManager: Unable to start service Intent { act=com.google.android.gms.analytics.service.START (has extras) } U=0: not found
05-21 22:39:36.238  8731  8731 D AndroidRuntime: Shutting down VM
05-21 22:39:37.059  8873  8873 D Xposed  : Starting Xposed binary version 34, compiled for SDK 17
05-21 22:39:37.059  8873  8873 D Xposed  : Phone: Nexus 4 (LGE), Android version 4.2.2 (SDK 17)
05-21 22:39:37.059  8873  8873 D Xposed  : ROM: cm_mako-userdebug 4.2.2 JDQ39E eng.jenkins.20130510.223604 test-keys
05-21 22:39:37.059  8873  8873 I Xposed  : -----------------
05-21 22:39:37.059  8873  8873 I Xposed  : Added Xposed (/data/xposed/XposedBridge.jar) to CLASSPATH.
05-21 22:39:37.059  8873  8873 D AndroidRuntime:
05-21 22:39:37.059  8873  8873 D AndroidRuntime: >>>>>> AndroidRuntime START de.robv.android.xposed.XposedBridge <<<<<<
05-21 22:39:37.059  8873  8873 D AndroidRuntime: CheckJNI is OFF
05-21 22:39:37.109  8873  8873 I Xposed  : Found Xposed class 'de/robv/android/xposed/XposedBridge', now initializing
05-21 22:39:37.169 26712 26724 I ActivityManager: Start proc de.robv.android.xposed.installer for broadcast de.robv.android.xposed.installer/.PackageChangeReceiver: pid=8905 uid=10272 gids={50272, 1015, 1028}
05-21 22:39:37.239  8873  8873 I Xposed  : -----------------
05-21 22:39:37.239  8873  8873 I Xposed  : May 21, 2013 8:39:37 PM UTC
05-21 22:39:37.239  8873  8873 I Xposed  : Loading Xposed (for com.android.commands.am.Am)...
05-21 22:39:37.269  8873  8873 D AndroidRuntime: Calling main entry com.android.commands.am.Am
05-21 22:39:37.279 26712 26922 I ActivityManager: Force stopping package com.example.android.apis appid=10279 user=0
05-21 22:39:37.299 26712 26922 I ActivityManager: Start proc com.example.android.apis for added application com.example.android.apis: pid=8950 uid=10279 gids={50279, 3003, 1015, 1006, 1028}
05-21 22:39:37.359  8950  8950 D AndroidRuntime: Shutting down VM
05-21 22:39:37.359  8873  8873 D AndroidRuntime: Shutting down VM
05-21 22:39:37.359  8950  8950 E AndroidRuntime: FATAL EXCEPTION: main
05-21 22:39:37.359  8950  8950 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate instrumentation ComponentInfo{com.example.android.apis.tests/android.test.InstrumentationTestRunner}: java.lang.ClassNotFoundException: Didn't find class "android.test.InstrumentationTestRunner" on path: /data/app/com.example.android.apis-2.apk
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4518)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at de.robv.android.xposed.XposedBridge.invokeOriginalMethod(XposedBridge.java:624)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:455)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at android.app.ActivityThread.handleBindApplication(Native Method)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at android.app.ActivityThread.access$1300(ActivityThread.java:153)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1307)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:137)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:5226)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at java.lang.reflect.Method.invokeNative(Native Method)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Method.java:511)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:110)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at dalvik.system.NativeStart.main(Native Method)
05-21 22:39:37.359  8950  8950 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.test.InstrumentationTestRunner" on path: /data/app/com.example.android.apis-2.apk
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4515)
05-21 22:39:37.359  8950  8950 E AndroidRuntime:        ... 15 more
05-21 22:39:37.359 26712 27820 W ActivityManager: Error in app com.example.android.apis running instrumentation ComponentInfo{com.example.android.apis.tests/android.test.InstrumentationTestRunner}:
05-21 22:39:37.359 26712 27820 W ActivityManager:   java.lang.ClassNotFoundException
05-21 22:39:37.359 26712 27820 W ActivityManager:   java.lang.ClassNotFoundException: Didn't find class "android.test.InstrumentationTestRunner" on path: /data/app/com.example.android.apis-2.apk
05-21 22:39:37.580 26712 27820 I ActivityManager: Force stopping package com.example.android.apis appid=10279 user=0
05-21 22:39:37.580 26712 27820 I ActivityManager: Killing proc 8950:com.example.android.apis/u0a10279: force stop com.example.android.apis

Actual test execution attempt (snippet from Ant in debug mode):
Code:
     [echo] Running tests ...
     [exec] Current OS is Windows 7
     [exec] Executing 'C:\Users\Fiouz\AppData\Roaming\android-sdk-windows\platform-tools\adb.exe' with arguments:
     [exec] 'shell'
     [exec] 'am'
     [exec] 'instrument'
     [exec] '-w'
     [exec] '-e'
     [exec] 'coverage'
     [exec] 'false'
     [exec] 'com.example.android.apis.tests/android.test.InstrumentationTestRunner'
     [exec]
     [exec] The ' characters around the executable and arguments are
     [exec] not part of the command.
Execute:Java13CommandLauncher: Executing 'C:\Users\Fiouz\AppData\Roaming\android-sdk-windows\platform-tools\adb.exe' with arguments:
'shell'
'am'
'instrument'
'-w'
'-e'
'coverage'
'false'
'com.example.android.apis.tests/android.test.InstrumentationTestRunner'

The ' characters around the executable and arguments are
not part of the command.
     [exec] INSTRUMENTATION_RESULT: shortMsg=java.lang.ClassNotFoundException
     [exec] INSTRUMENTATION_RESULT: longMsg=java.lang.ClassNotFoundException: Didn't find class "android.test.InstrumentationTestRunner" on path: /data/app/com.example.android.apis-2.apk
     [exec] INSTRUMENTATION_CODE: 0

If I restore app_process, the tests run fine:

Code:
--------- beginning of /dev/log/main
05-21 22:55:22.895 17278 17278 D AndroidRuntime:
05-21 22:55:22.895 17278 17278 D AndroidRuntime: >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
05-21 22:55:22.895 17278 17278 D AndroidRuntime: CheckJNI is OFF
05-21 22:55:23.045 17278 17278 D AndroidRuntime: Calling main entry com.android.commands.pm.Pm
--------- beginning of /dev/log/system
05-21 22:55:23.055 14027 14049 I ActivityManager: Start proc com.android.defcontainer for service com.android.defcontainer/.DefaultContainerService: pid=17288 uid=10014 gids={50014, 1015, 2001, 1028}
05-21 22:55:23.115 14027 14049 W ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/ApiDemosTest-debug.apk
05-21 22:55:23.135 16014 17302 I PackageParser: com.example.android.apis.tests: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE
05-21 22:55:23.666 14027 14049 W ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/ApiDemosTest-debug.apk
05-21 22:55:23.666 14027 14049 I PackageManager: Copying native libraries to /data/app-lib/vmdl1194958778
05-21 22:55:23.676 14027 14049 I PackageParser: com.example.android.apis.tests: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE
05-21 22:55:23.716 14027 14049 I PackageManager: Removing non-system package:com.example.android.apis.tests
05-21 22:55:23.716 14027 14046 I ActivityManager: Force stopping package com.example.android.apis.tests appid=10278 user=-1
05-21 22:55:24.106 14027 14049 I PackageManager: Running dexopt on: com.example.android.apis.tests
05-21 22:55:24.106 14027 14049 I PackageManager: Package com.example.android.apis.tests codePath changed from /data/app/com.example.android.apis.tests-1.apk to /data/app/com.example.android.apis.tests-2.apk; Retaining data and using new
05-21 22:55:24.206 14027 14046 I ActivityManager: Force stopping package com.example.android.apis.tests appid=10278 user=-1
05-21 22:55:24.216 14027 14049 W PackageManager: Code path for pkg : com.example.android.apis.tests changing from /data/app/com.example.android.apis.tests-1.apk to /data/app/com.example.android.apis.tests-2.apk
05-21 22:55:24.216 14027 14049 W PackageManager: Resource path for pkg : com.example.android.apis.tests changing from /data/app/com.example.android.apis.tests-1.apk to /data/app/com.example.android.apis.tests-2.apk
05-21 22:55:24.747 14027 14049 D PackageManager: New package installed in /data/app/com.example.android.apis.tests-2.apk
05-21 22:55:25.237 14027 14049 I ActivityManager: Force stopping package com.example.android.apis.tests appid=10278 user=0
05-21 22:55:25.277 14027 14075 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-21 22:55:25.407 14027 14075 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-21 22:55:25.548 14027 14059 W AccessibilityManagerService: Skipping accessibilty service com.example.android.apis/.accessibility.ClockBackService: it does not require the permission android.permission.BIND_ACCESSIBILITY_SERVICE
05-21 22:55:25.548 14027 14059 W AccessibilityManagerService: Skipping accessibilty service com.example.android.apis/.accessibility.TaskBackService: it does not require the permission android.permission.BIND_ACCESSIBILITY_SERVICE
05-21 22:55:25.608 17278 17278 D AndroidRuntime: Shutting down VM
... lots of receivers being fired ...
05-21 22:55:31.344 18001 18001 D AndroidRuntime:
05-21 22:55:31.344 18001 18001 D AndroidRuntime: >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
05-21 22:55:31.344 18001 18001 D AndroidRuntime: CheckJNI is OFF
05-21 22:55:31.524 18001 18001 D AndroidRuntime: Calling main entry com.android.commands.pm.Pm
05-21 22:55:31.544 14027 14049 I ActivityManager: Start proc com.android.defcontainer for service com.android.defcontainer/.DefaultContainerService: pid=18016 uid=10014 gids={50014, 1015, 2001, 1028}
05-21 22:55:31.594 14027 14049 W ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/ApiDemos-debug.apk
05-21 22:55:31.704 16014 18031 W PackageParser: No actions in intent filter at /data/local/tmp/ApiDemos-debug.apk Binary XML file line #2606
05-21 22:55:31.704 16014 18031 W PackageParser: No actions in intent filter at /data/local/tmp/ApiDemos-debug.apk Binary XML file line #2612
05-21 22:55:32.675 14027 14049 W ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/ApiDemos-debug.apk
05-21 22:55:32.675 14027 14049 I PackageManager: Copying native libraries to /data/app-lib/vmdl-2037904572
05-21 22:55:32.785 14027 14049 W PackageParser: No actions in intent filter at /data/app/vmdl-2037904572.tmp Binary XML file line #2606
05-21 22:55:32.785 14027 14049 W PackageParser: No actions in intent filter at /data/app/vmdl-2037904572.tmp Binary XML file line #2612
05-21 22:55:33.326 14027 14049 I PackageManager: Removing non-system package:com.example.android.apis
05-21 22:55:33.326 14027 14046 I ActivityManager: Force stopping package com.example.android.apis appid=10279 user=-1
05-21 22:55:33.546 14027 14049 W PackageManager: Package com.example.android.apis desires unavailable shared library com.example.will.never.exist; ignoring!
05-21 22:55:33.546 14027 14049 I PackageManager: Running dexopt on: com.example.android.apis
05-21 22:55:33.546 14027 14049 I PackageManager: Package com.example.android.apis codePath changed from /data/app/com.example.android.apis-1.apk to /data/app/com.example.android.apis-2.apk; Retaining data and using new
05-21 22:55:33.716 14027 14806 W ActivityManager: Unable to start service Intent { act=com.google.android.gms.analytics.service.START (has extras) } U=0: not found
05-21 22:55:34.157 14027 14049 W PackageManager: Code path for pkg : com.example.android.apis changing from /data/app/com.example.android.apis-1.apk to /data/app/com.example.android.apis-2.apk
05-21 22:55:34.157 14027 14049 W PackageManager: Resource path for pkg : com.example.android.apis changing from /data/app/com.example.android.apis-1.apk to /data/app/com.example.android.apis-2.apk
05-21 22:55:34.167 14027 14046 I ActivityManager: Force stopping package com.example.android.apis appid=10279 user=-1
05-21 22:55:34.607 14027 14049 D PackageManager: New package installed in /data/app/com.example.android.apis-2.apk
05-21 22:55:35.038 14027 14039 I ActivityManager: No longer want de.robv.android.xposed.installer (pid 17528): empty #17
05-21 22:55:35.038 14027 14049 I ActivityManager: Force stopping package com.example.android.apis appid=10279 user=0
05-21 22:55:35.078 14027 14075 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-21 22:55:35.158 14027 14075 I InputReader: Reconfiguring input devices.  changes=0x00000010
05-21 22:55:35.358 18001 18001 D AndroidRuntime: Shutting down VM
05-21 22:55:35.358 14027 14039 W ActivityManager: Unable to start service Intent { act=com.google.android.gms.analytics.service.START (has extras) } U=0: not found
05-21 22:55:35.458 14027 14059 W AccessibilityManagerService: Skipping accessibilty service com.example.android.apis/.accessibility.ClockBackService: it does not require the permission android.permission.BIND_ACCESSIBILITY_SERVICE
05-21 22:55:35.458 14027 14059 W AccessibilityManagerService: Skipping accessibilty service com.example.android.apis/.accessibility.TaskBackService: it does not require the permission android.permission.BIND_ACCESSIBILITY_SERVICE
05-21 22:55:35.548 14027 14857 I ActivityManager: Start proc com.android.keychain for broadcast com.android.keychain/.KeyChainBroadcastReceiver: pid=18068 uid=1000 gids={41000, 1015, 1028, 3002, 3001, 3003, 3007}
05-21 22:55:35.618 14027 14038 I ActivityManager: Start proc com.android.settings for broadcast com.android.settings/.cyanogenmod.superuser.PackageChangeReceiver: pid=18082 uid=1000 gids={41000, 1015, 1028, 3002, 3001, 3003, 3007}
05-21 22:55:35.749 14027 14027 I ActivityManager: Start proc com.android.voicedialer for broadcast com.android.voicedialer/.VoiceDialerReceiver: pid=18112 uid=10046 gids={50046, 3002}
05-21 22:55:35.819 14027 15000 I ActivityManager: Start proc com.google.android.gallery3d for broadcast com.google.android.gallery3d/com.android.gallery3d.app.PackagesMonitor: pid=18127 uid=10066 gids={50066, 1006, 3003, 1015, 1028}
05-21 22:55:35.979 14027 15591 I ActivityManager: Start proc android.process.media for content provider com.android.providers.media/.MediaProvider: pid=18144 uid=10017 gids={50017, 1015, 1023, 1024, 1028, 2001, 3003, 3007}
05-21 22:55:36.029 14027 14039 I ActivityManager: Start proc eu.chainfire.supersu for broadcast eu.chainfire.supersu/.InstallReceiver: pid=18158 uid=10038 gids={50038}
05-21 22:55:36.229 18179 18179 D AndroidRuntime:
05-21 22:55:36.229 18179 18179 D AndroidRuntime: >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
05-21 22:55:36.229 18179 18179 D AndroidRuntime: CheckJNI is OFF
05-21 22:55:36.269 14027 14857 I ActivityManager: Start proc com.google.android.apps.maps for broadcast com.google.android.apps.maps/com.google.android.location.internal.NlpPackageUpdateReceiver: pid=18186 uid=10137 gids={50137, 3003, 1015, 1028}
05-21 22:55:36.399 18179 18179 D AndroidRuntime: Calling main entry com.android.commands.am.Am
05-21 22:55:36.399 14027 14039 I ActivityManager: Force stopping package com.example.android.apis appid=10279 user=0
05-21 22:55:36.409 14027 14039 I ActivityManager: Start proc com.example.android.apis for added application com.example.android.apis: pid=18214 uid=10279 gids={50279, 3003, 1015, 1006, 1028}
05-21 22:55:36.549 14027 14857 I ActivityManager: Start proc de.robv.android.xposed.installer for broadcast de.robv.android.xposed.installer/.PackageChangeReceiver: pid=18229 uid=10272 gids={50272, 1015, 1028}
05-21 22:55:36.599 14027 14806 I ActivityManager: Start proc com.nuance.swype.dtc for broadcast com.nuance.swype.dtc/com.nuance.swype.input.appspecific.AppUsage: pid=18242 uid=10268 gids={50268, 3003, 1015, 3002, 1028}
05-21 22:55:36.659 14027 15080 I ActivityManager: Start proc net.dinglisch.android.taskerm for broadcast net.dinglisch.android.taskerm/.ReceiverStaticAlwaysOn: pid=18255 uid=10134 gids={50134, 1015, 1006, 3001, 3002, 3003, 1028}
05-21 22:55:36.800 18214 18273 I TestRunner: started: testAndroidTestCaseSetupProperly(com.example.android.apis.ApiDemosApplicationTests)
05-21 22:55:36.800 18214 18273 I TestRunner: finished: testAndroidTestCaseSetupProperly(com.example.android.apis.ApiDemosApplicationTests)
05-21 22:55:36.800 18214 18273 I TestRunner: passed: testAndroidTestCaseSetupProperly(com.example.android.apis.ApiDemosApplicationTests)
... more unit tests running ...

Ant output with original app_process:

Code:
Execute:Java13CommandLauncher: Executing 'C:\Users\Fiouz\AppData\Roaming\android-sdk-windows\platform-tools\adb.exe' with arguments:
'shell'
'am'
'instrument'
'-w'
'-e'
'coverage'
'false'
'com.example.android.apis.tests/android.test.InstrumentationTestRunner'

The ' characters around the executable and arguments are
not part of the command.
     [exec]
     [exec] com.example.android.apis.ApiDemosApplicationTests:....
     [exec] com.example.android.apis.ApiDemosTest:.
     [exec] com.example.android.apis.app.ForwardingTest:...
     [exec] com.example.android.apis.app.LocalServiceTest:.....
     [exec] com.example.android.apis.os.MorseCodeConverterTest:.
     [exec] com.example.android.apis.view.Focus2ActivityTest:...
     [exec] com.example.android.apis.view.Focus2AndroidTest:....
     [exec] Test results for InstrumentationTestRunner=.....................
     [exec] Time: 1.883
     [exec]
     [exec] OK (21 tests)
     [exec]
     [exec]

(Note: I cleaned the logs to remove useless reference to other applications like receivers being fired/removed by ActivityManager)

I used the reference ApiDemos sample project from API 15.

How to reproduce (assuming Ant + ANDROID_HOME/tools is in PATH) :
  1. android update sdk -t sample-15 -u (installs the API 15 sample projects)
  2. cd /d %ANDROID_HOME%\samples\android-15\ApiDemos
  3. android update project -p . --target android-15 (makes sure the project is command-line buildable)
  4. cd tests
  5. android update test-project -p . -m .. (makes sure the test project is command-line buildable too)
  6. ant debug install test (compiles/executes the actual unit tests (add -d for Ant debug mode))

I tried several times to install/revert Xposed app_process and it always fails with the patched one. Could it be that Xposed is altering the way Android instrumentation works?
 
  • Like
Reactions: rovo89

rovo89

Senior Recognized Developer
Jan 4, 2012
2,585
81,217
203
Have a look at this and the following two posts. Xposed won't work together with instrumentation, more details there. However I'm still not sure how much of Xposed to disable if instrumentation is detected... as module developers should be able to trust that loadPackage() is called before initPackageResources() (and that it is called at all!)
 

Fiouz

Member
Apr 16, 2010
39
53
0
However I'm still not sure how much of Xposed to disable if instrumentation is detected... as module developers should be able to trust that loadPackage() is called before initPackageResources() (and that it is called at all!)

Thanks for the information, somehow I missed it when looking for that issue.
As for disabling Xposed for instrumented packages, I would not mind if all hooks get disabled as the purpose of the unit test is testing the package itself.
I had a quick look at the C++ part but don't have the necessary knowledge to achieve that.
 

dk_zero-cool

Senior Member
Nov 6, 2010
3,529
4,996
0
Horsens
Is Xposed not able to interact with framework files? I keep getting the fallowing message

Code:
java.lang.NoSuchMethodError: com.android.internal.policy.impl.PhoneWindowManager#setInitialDisplaySize(android.view.Display,java.lang.Integer,java.lang.Integer,java.lang.Integer)#exact

The source of the CM 10.1 ROM looks like this

Code:
public void setInitialDisplaySize(Display display, int width, int height, int density) {

All I am trying to do, is change one single boolean property to test this thing. The rest of my class is just copied from the github example, and the clock example works fine :(
 

Fiouz

Member
Apr 16, 2010
39
53
0
Code:
java.lang.NoSuchMethodError: com.android.internal.policy.impl.PhoneWindowManager#setInitialDisplaySize(android.view.Display,java.lang.Integer,java.lang.Integer,java.lang.Integer)#exact

The source of the CM 10.1 ROM looks like this

Code:
public void setInitialDisplaySize(Display display, int width, int height, int density) {

Does it work with the primitive type Integer.TYPE instead of the wrapper version?
 

rovo89

Senior Recognized Developer
Jan 4, 2012
2,585
81,217
203
Thanks for the information, somehow I missed it when looking for that issue.
As for disabling Xposed for instrumented packages, I would not mind if all hooks get disabled as the purpose of the unit test is testing the package itself.
I had a quick look at the C++ part but don't have the necessary knowledge to achieve that.

It's not that simple actually to disable all further callbacks. Maybe I'll just skip the loadPackage hook when instrumentation is detected, that's much easier. I think the average users won't come across this anyway.

@rovo89

You just created cydia for android,which is awesome

And finally Android getting better with your help.

You should create an app like Cydia.We need this

Thanks for the nice words. To avoid confusion, Xposed is NOT Cydia Substrate for Android. Please try to discuss any questions related to Cydia outside of this thread to avoid that people mix up the two.

What do you mean with "an app like Cydia"? As far as I have seen, Cydia Substrate currently has no more features the Xposed and its installer. If you mean Cydia for iOS, which also has a download store: Yes, I'm working on that with high priority (actually framework autoupdate first, then modules).

Does it work with the primitive type Integer.TYPE instead of the wrapper version?
That's probably the reason, yes. I personally prefer int.class for consistency with other class references, but Integer.TYPE is equivalent to that.
 

killchain

Senior Member
Oct 6, 2012
301
62
0
29
What in this framework could be causing bootloops? How can I diagnose it?
Almost every time after installing the framework and rebooting (after a ROM update etc.), the device gets stuck on the boot animation.
Galaxy Nexus GSM, AOKP latest nightlies and it's the same with several different kernels - AOKP's built in lean, lean experimental, fancy, AK Rubik.
 

dk_zero-cool

Senior Member
Nov 6, 2010
3,529
4,996
0
Horsens
Does it work with the primitive type Integer.TYPE instead of the wrapper version?

Most do, no more errors. Actually no response at all.

I really need to read some more about Android's tools, not my strongest subject. Which package does com.android.internal.policy.impl.PhoneWindowManager belong to? I tried to do some testing, and so far it seams to be accessible throe any android packages and Xposed does not redirect any com.android.internal.* named packages.

Also, how do I go about changing a private property, so far I have been able to get an error "Not a Primitive Type"


EDIT:

It does seam to load my hook now.

Code:
Field lHasNavigationBar = param.thisObject.getClass().getDeclaredField("mHasNavigationBar");
lHasNavigationBar.setAccessible(true);
lHasNavigationBar.set(param.thisObject, true);
This does work (Nothing changes in the UI, but that's a different issue, it does however change the property. But, setBooleanField from Xposed helper class does not work. It just gives me the "Not a Primitive Type" error.


EDIT 2:

I had Expanded Desktop enabled, which is why the UI did not seam to change. So manual reflection with Xposed is working great now, only issue is the helper method for changing Fields.
 
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!
    313
    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).
    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.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone