Wednesday, March 28, 2018

How to "completely" delete Xposed Framework and modules?


I did two things to install Xposed. Firstly, I flashed xposed-v75-sdk21-x86.zip and then installed the .apk file. I can now uninstall the app itself but how can I erase the flashed file of the .zip?


Also, where are the modules stored? How to delete the modules completely?


Device is LG G3 D855. Running on Cloudy G3 ROM.




Answer



Note: provided that you end up at this post in search of solving the bootloop issue caused by an Xposed module, my answer here would better help you .






I can now uninstall the app itself but how can I erase the flashed file of the .zip?



See the attached files in the first post of this thread. In relevance to your device's CPU architecture, download the uninstaller archive and flash it from the custom recovery. It would undo the changes the installer archive made.


In essence, the installer archive keeps the original system files but appends in their name .orig or convert them into archives (unofficial installers do). It then places its modified files at their location. All uninstaller does is remove the modified and extra files and change the backed up files back to their original self.


Relevant section from the uninstaller script




echo "- Restoring/removing files"
rm -f /system/xposed.prop
rm -f /system/framework/XposedBridge.jar

restore_link /system/bin/app_process32 0 2000 0755 u:object_r:zygote_exec:s0
restore_backup /system/bin/dex2oat 0 2000 0755 u:object_r:dex2oat_exec:s0
restore_backup /system/bin/oatdump 0 2000 0755
restore_backup /system/bin/patchoat 0 2000 0755 u:object_r:dex2oat_exec:s0
restore_backup /system/lib/libart.so 0 0 0644

restore_backup /system/lib/libart-compiler.so 0 0 0644
restore_backup /system/lib/libart-disassembler.so 0 0 0644
restore_backup /system/lib/libsigchain.so 0 0 0644
restore_backup /system/lib/libxposed_art.so 0 0 0644
if [ $IS64BIT ]; then
restore_link /system/bin/app_process64 0 2000 0755 u:object_r:zygote_exec:s0
restore_backup /system/lib64/libart.so 0 0 0644
restore_backup /system/lib64/libart-compiler.so 0 0 0644
restore_backup /system/lib64/libart-disassembler.so 0 0 0644
restore_backup /system/lib64/libsigchain.so 0 0 0644

restore_backup /system/lib64/libxposed_art.so 0 0 0644
fi

If you've the knowledge of setting the appropriate SELinux context for a file in Android from recovery mode, you can simply map the files the installer would've changed, revert the changes using command-line and set the correct context. No uninstaller would be required.


Note: If you're not using the official Xposed Framework then the uninstaller may not work for you. It may even cause unforeseen issues. Best is to search the web for the uninstaller.



Also, where are the modules stored?




  • Xposed Installer app downloads the modules under /sdcard/Download.


  • They may be called modules but they simply are apps to Android, hence the APK would be found under /data/app or the locations covered here by Izzy. Alike every app, there data directory would be found under /data/data.



How to delete the modules completely?



Deleting an Xposed module is no different than removing any user installed app from Android. So, you can use any technique that you would use to remove an ordinary app.


Note that the file XposedBridge.jar under /system/framework/ is what provides modules the necessary APIs to interact with the modified framework.





Use the file Xposed-Disabler-Recovery.zip located at /sdcard/Android/data/de.robv.android.xposed.installer/files. Flash that file from recovery mode (requires a custom recovery) to disable Xposed Framework. If you don't have such file, download it from the first post of the official thread.



That archive, in essence, changes /system/bin/app_process.orig to /system/bin/app_process i.e. it removes the modified app_process and brings the original file back to its glory. It doesn't delete the Installer app. You can make those changes on your own too using adb in recovery mode.


The concept of modules here is no different from what is covered in the above section.


No comments:

Post a Comment

samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...