Android Lollipop has been quite a tough nutshell for the developers so far, thanks to the latest ART runtime, 64-bit support and SELinux restrictions in the OS. After a long struggle, the pro-developerย rovo89ย has announced the official support of Xposed for Lollipop devices just a few months back. Unlucky for Samsung TouchWiz users, the long-awaited Xposed on Lollipop has caused boot loops and few users even reported bricked devices.
After much of havoc in many developers forums, rovo89ย has stated that the heavily customized TouchWiz is the culprit behind this as the Samsung devices running AOSP ROMs are working fine with Xposed Lollipop.ย Luckily, darkera13ย from XDA hasn’t given up and released a workaround for the Xposed framework to work on Samsung TouchWiz ROMs. But don’t be too excited as the process is not a cakewalk and requires a bit of hectic tinkering of system files which mightย put off many users.
Fret not! the tweaking process is not at the pro level andย with careful hardships you can easily get the job done. In this method, you’ll have to extractย core-libart.jar and services.jarย files from theย /system/framework/ย directory on your device and make few modifications. To proceed with the modification, you need to have a brief idea on how to decompile and recompile JAR files. If you’re new to this, you can follow the below link for a detailed guide on how to decompile and recompile JAR files.
So, if you’re excited to get the Xposed framework on your Samsung TouchWiz ROM, let’s get started without any further ado.
Warning
This is just a temporary workaround until the Official support for Samsung TouchWiz ROMs is announced. So, you can expect several bugs and frequent instability in the functionality of the app. Kindly follow the below guide carefully to avoid boot loops on your Samsung device.
Prepare Your Device
- Enable USB Debugging
- Install required Samsung USB Drivers
- Root your device and install any custom recovery on it.
- Backup your device storage, Contacts, SMS, etc. using Google Sync service or any third-party app. It’s better to take a full nandroid backup of your device.
- Either setup ADB and Fastboot on your computer, or download the latest SDK Platform-tools.
Downloads
- darkera13_SamsungViet_Xposed_core-libart.jar-2.zip
- XposedInstaller_3.0-alpha2.apk
- xposed-sdk21-arm-20150430.zip
Install Xposed FrameWork on Samsung TouchWiz Lollipop ROMs
- Navigate to the folder where youโve extracted the ADB andย Fastboot files and open aย command prompt byย pressing Shift + Right-clickย on any empty space inside the folder, and select Open command window hereย from the context menu.
- Connect your device to the PC using a USB cable and make sure it is detected by the PC.
- Type the below commands to pull theย core-libart.jar and services.jarย files from your device:
adb pull /system/framework/core-libart.jar
adb pull /system/framework/services.jar
- Decompile core-libart.jar using the Baksmali method.ย Read our detailed guide on decompiling the jar files.
- After decompiling, you’ll have a classout folder which will have a lot of smali files. Extract the files in the downloadedย darkera13_SamsungViet_Xposed_core-libart.jar-2.zipย to the same locations of the classout folder obtained in the above step.
- Recompile theย core-libart.jar using the Smali method.
- Similarly, decompile theย services.jarย fileย and patiently open every smali file in the classout folder using a text editor and search for the below string:
Ljava/lang/String;->clear()V
- Remove the lines that contain the above string in all the smali files of the Services.jar classout folder.
- Save all the files without fail, double or triple check them and recompile the Services.jar file.
- Now, install the ‘XposedInstaller_3.0-alpha2.apk’ on your device as any normal APK.
- Replaceย theย core-libart.jar and services.jarย files with the modified JAR files on your device. You can simply push these files to your device using ADB push command.
- Finally, copy the ‘xposed-sdk21-arm-20150430.zip’ file to the root of your device’s storage and flash it from the custom recovery.
- Reboot the device once the flashing process is finished.
If you’ve followed the guide carefully and made properย changes to the JAR files, your device should boot up with Xposed working on your device.
Let us know of any issues in the comments section below.
@DroidViews:disqus
i faced a problem while reecompiling the core-libart. I attached a picture of the error
I completely agree with you. With every new update Android (especially the devices from Vzw and AT&T) are becoming more and more like iOS. However, things are still better for unlocked devices.