
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.