Install Xposed Framework in EMUI 3.1 & 4.0
Install Xposed Framework in EMUI 3.1 & 4.0

If you like Honor’s EMUI software & would still like to get Xposed on your device then you might have tried many different methods to install Xposed in your device. After the Lollipop update, most of the users reported Xposed not working in their device running EMUI 3.1 & 4.0. Even if you somehow manage to install Xposed framework in your device, you’ll probably get frustrated with System UI crashed popups. But thanks to XDA’s mfbcool, you can successfully install a Fully functional Xposed in EMUI 3.1 & 4.0. Even though Xposed works flawlessly, deodexing the system may render system unstable or some apps crashing. It is advised that if a certain app is crashing, you should remove the deodexed version and replace it with the app’s odexed version.

How Xposed is working in EMUI 3.1/4.0 now?

If you are curious to know how its working now & was not working before. Well, we’ll deodex the ROM in order for Xposed to work. Deodexing decompiles the Boot.oat file and makes it easier for Xposed to extend it’s Hooks to framework. When the framework is deodexed, other system apps must also be deodexed for stability. Howerver, some might face some Apps crashing issue due to this. It is advised to take complete backup before deodexing so that you can replace the deodexed apps with the odexed backups.

Prerequisites:

  1. Rooted device.
  2. Fully functional TWRP recovery or any other recovery with File manager support.
  3. Backup all your data & apps.

Download: BatchTool

How to Install working Xposed in EMUI 3.1 & 4.0

Xposed Framework EMUI 3.1 & 4.0
Xposed Framework EMUI 3.1 & 4.0

Deodexing the ROM:

Step 1: Extract the BatchAPKTool to your preferred location.

Step 2: Open BatchAPKTool.exe. Set Language to English when prompted.

Step 3: The tool will now ask you to chose task.

Step 4: Type 83 and set smali version to smali-2.1.2.jar by entering 2. Now type 84 and set Android API level to 21 (Android 5.0), 22 (Android 5.1.1) or 23 (Android 6.0). This value must match with the firmware you have currently installed on your device.

Step 5: Now connect your device to PC. Make sure USB Debugging Mode is enabled and necessary Huawei Drivers are installed.

Step 6: In BatchAPKTool window, type 13 and then enter 4. This will pull all files from /system/app , /system/framework , /system/priv-app from your device. This may take some time so wait patiently. (You might also do it manually using Root Explorer)

Step 7: Once it’s done press Enter to return to main BatchAPKTool Menu.

Step 8: We’ll now deodex the apps. Enter 01 in the tool. It will now ask you for your ARM version. Enter “arm” and press Enter. Wait for the process to be completed.

Step 9: In the directory where you have extracted BatchAPKTool, you’ll find three folders named _priv-app, _app and _framework. Remove the underscore from the folder names so that they are now priv-app, app and framework respectively.

Step 10: Create a new folder system and copy those three folders inside it. Now copy the System folder to your SD card or Internal Memory.

Merging the Deodexed Changes to your device:

Step 1: Boot your device into recovery. Take backup of System partition

Step 2: Using the built in file manager in recovery, delete the app, framework and priv-app folders from your system partition.

Step 3: Now copy the app, framework and priv-app folders from system folder (which we copied to SD card or Internal) and paste them to the SYSTEM partition i.e. /system/

Step 4: When done, reboot your device. First boot will be extremely long. Might take 20-30 minutes so be patient.

Installing Xposed Framework in EMUI 3.1 & 4.0:

  1. Go to official thread here : Download
  2. Download the apk, uninstaller arm zip and v80-sdk23-arm zip replacing 23 in sdk23 with your Android API level.
  3. Install the apk file and flash the v80-sdk23-arm zip in recovery. Again device might take 25-30 minutes to boot.
  4. For Android 6.0:Open build.prop and add these lines ro.config.hwtheme=0 and ro.config.hw_theme=0
    For Android 5.0-5.1.1: Open local.prop (in system/emui/base/prop/local.prop) and add these lines ro.config.hwtheme=0 andro.config.hw_theme=0
  5. Again reboot your device (this time it will boot fast).

Small Bugs & fixes (On Android 5.1.1 these apps work fine. In Android 6.0 they don’t even open)

  • Huawei Swype not working — Use Google Keyboard instead
  • Phone Manager not working on some firmware — Use other Cleaner app or restore the app to it’s odexed version
  • Huawei Backup not working — Replace with odexed version
  • Huawei Recorder not working — Replace with odexed verison
Last updated on: Sep 24, 2016 @ 4:10 pm
  • M Imran

    Please make a tutorial of How to Install Xposed Installer on Huawei Y6 (SCL-U31)

  • Abdulrhman

    Doesn’t work with my phone
    Log :
    ( 440): Platform: arm64-v8a, 64-bit binary, system server: yes
    08-16 17:17:58.571 I/Xposed ( 440): SELinux enabled: yes, enforcing: yes
    08-16 17:17:58.591 I/Xposed ( 440): —————–
    08-16 17:17:58.591 I/Xposed ( 440): Added Xposed (/system/framework/XposedBridge.jar) to CLASSPATH
    08-16 17:17:59.451 I/Xposed ( 440): Detected ART runtime
    08-16 17:17:59.491 I/Xposed ( 440): Found Xposed class de/robv/android/xposed/XposedBridge, now initializing
    08-16 17:17:59.761 W/Xposed ( 440): Found /data/data/de.robv.android.xposed.installer/conf/disable_resources, not hooking resources
    08-16 17:17:59.771 I/Xposed ( 440): Loading modules from /data/app/pl.cinek.adblocker-2/base.apk
    08-16 17:17:59.901 I/Xposed ( 440): Loading class pl.cinek.adblocker.Main
    08-16 17:17:59.931 I/Xposed ( 440): Loading modules from /data/app/com.marz.snapprefs-1/base.apk
    08-16 17:18:00.011 I/Xposed ( 440): Loading class com.marz.snapprefs.HookMethods
    08-16 17:18:00.041 I/Xposed ( 440): This class requires resource-related hooks (which are disabled), skipping it.
    08-16 17:18:00.041 I/Xposed ( 440): Loading modules from /data/app/com.android.vending.billing.InAppBillingService.LOCK-1/base.apk
    08-16 17:18:00.111 I/Xposed ( 440): Loading class com.chelpus.XSupport
    08-16 17:18:08.691 I/Xposed ( 442): —————–
    08-16 17:18:08.691 I/Xposed ( 442): Starting Xposed version 80, compiled for SDK 23
    08-16 17:18:08.691 I/Xposed ( 442): Device: HUAWEI RIO-L01 (HUAWEI), Android version 6.0.1 (SDK 23)
    08-16 17:18:08.691 I/Xposed ( 442): ROM: RIO-L01C185B321
    08-16 17:18:08.691 I/Xposed ( 442): Build fingerprint: HUAWEI/RIO-L01/hwRIO-L01:6.0.1/HuaweiRIO-L01/C185B321:user/release-keys
    08-16 17:18:08.691 I/Xposed ( 442): Platform: arm64-v8a, 32-bit binary, system server: no
    08-16 17:18:08.691 I/Xposed ( 442): SELinux enabled: yes, enforcing: yes
    08-16 17:18:08.691 I/Xposed ( 442): —————–
    08-16 17:18:08.691 I/Xposed ( 442): Added Xposed (/system/framework/XposedBridge.jar) to CLASSPATH
    08-16 17:18:09.051 I/Xposed ( 442): Detected ART runtime
    08-16 17:18:09.081 I/Xposed ( 442): Found Xposed class de/robv/android/xposed/XposedBridge, now initializing
    08-16 17:18:09.281 W/Xposed ( 442): Found /data/data/de.robv.android.xposed.installer/conf/disable_resources, not hooking resources
    08-16 17:18:09.281 I/Xposed ( 442): Loading modules from /data/app/pl.cinek.adblocker-2/base.apk
    08-16 17:18:12.051 I/Xposed ( 442): Loading class pl.cinek.adblocker.Main
    08-16 17:18:12.061 I/Xposed ( 442): Loading modules from /data/app/com.marz.snapprefs-1/base.apk
    08-16 17:18:22.611 I/Xposed ( 442): Loading class com.marz.snapprefs.HookMethods
    08-16 17:18:22.611 I/Xposed ( 442): This class requires resource-related hooks (which are disabled), skipping it.
    08-16 17:18:22.611 I/Xposed ( 442): Loading modules from /data/app/com.android.vending.billing.InAppBillingService.LOCK-1/base.apk
    08-16 17:18:27.081 I/Xposed ( 442): Loading class com.chelpus.XSupport
    08-16 17:43:55.284 I/XposedInstaller(22217): Downloaded http://dl.xposed.info/repo/full.xml.gz with status 0 (error: null), size 1080470 bytes
    08-16 17:43:59.934 I/XposedInstaller(22217): Updated repository http://dl.xposed.info/repo/full.xml.gz to version 9715 (928 new / 0 removed modules)