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 .
For any Android Lollipop
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.
For Android 4.2.x - 4.4.x
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.