rovo89 / XposedBridge

The Java part of the Xposed framework.
3.89k stars 1.1k forks source link

MIUI: IncompatibleClassChangeError for XResources #61

Open hardartcore opened 9 years ago

hardartcore commented 9 years ago

When I try to install Xposed on Xiaomi MiNote PRO with android version 5.0.2 I get this error:

09-01 13:09:57.240 I/Xposed  (  445): -----------------
09-01 13:09:57.240 I/Xposed  (  445): Starting Xposed version 72, compiled for SDK 21
09-01 13:09:57.240 I/Xposed  (  445): Device: MI NOTE Pro (Xiaomi), Android version 5.0.2 (SDK 21)
09-01 13:09:57.240 I/Xposed  (  445): ROM: LRX22G
09-01 13:09:57.240 I/Xposed  (  445): Build fingerprint: Xiaomi/leo/leo:5.0.2/LRX22G/5.8.27:user/release-keys
09-01 13:09:57.240 I/Xposed  (  445): Platform: arm64-v8a, 64-bit binary, system server: yes
09-01 13:09:57.240 I/Xposed  (  445): SELinux enabled: yes, enforcing: yes
09-01 13:09:57.260 I/Xposed  (  445): -----------------
09-01 13:09:57.260 I/Xposed  (  445): Added Xposed (/system/framework/XposedBridge.jar) to CLASSPATH
09-01 13:09:57.780 I/Xposed  (  445): Detected ART runtime
09-01 13:09:57.800 I/Xposed  (  445): Found Xposed class de/robv/android/xposed/XposedBridge, now initializing
09-01 13:09:58.000 E/Xposed  (  445): Error while loading XResources class 'android/content/res/XResources':
09-01 13:09:58.000 E/Xposed  (  445): java.lang.IncompatibleClassChangeError: android.content.res.XResources
09-01 13:09:58.000 E/Xposed  (  445):   at java.lang.Class dalvik.system.DexFile.defineClassNative(java.lang.String, java.lang.ClassLoader, long) (DexFile.java:-2)
09-01 13:09:58.000 E/Xposed  (  445):   at java.lang.Class dalvik.system.DexFile.defineClass(java.lang.String, java.lang.ClassLoader, long, java.util.List) (DexFile.java:226)
09-01 13:09:58.000 E/Xposed  (  445):   at java.lang.Class dalvik.system.DexFile.loadClassBinaryName(java.lang.String, java.lang.ClassLoader, java.util.List) (DexFile.java:219)
09-01 13:09:58.000 E/Xposed  (  445):   at java.lang.Class dalvik.system.DexPathList.findClass(java.lang.String, java.util.List) (DexPathList.java:321)
09-01 13:09:58.000 E/Xposed  (  445):   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:54)
09-01 13:09:58.000 E/Xposed  (  445):   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:511)
09-01 13:09:58.000 E/Xposed  (  445):   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:469)
09-01 13:09:58.000 E/Xposed  (  445):   at boolean de.robv.android.xposed.XposedBridge.initNative() (XposedBridge.java:-2)
09-01 13:09:58.000 E/Xposed  (  445):   at void de.robv.android.xposed.XposedBridge.main(java.lang.String[]) (XposedBridge.java:96)
09-01 13:09:58.000 I/Xposed  (  445): Errors during native Xposed initialization
09-01 13:10:07.260 I/Xposed  (  446): -----------------
09-01 13:10:07.260 I/Xposed  (  446): Starting Xposed version 72, compiled for SDK 21
09-01 13:10:07.260 I/Xposed  (  446): Device: MI NOTE Pro (Xiaomi), Android version 5.0.2 (SDK 21)
09-01 13:10:07.260 I/Xposed  (  446): ROM: LRX22G
09-01 13:10:07.260 I/Xposed  (  446): Build fingerprint: Xiaomi/leo/leo:5.0.2/LRX22G/5.8.27:user/release-keys
09-01 13:10:07.260 I/Xposed  (  446): Platform: arm64-v8a, 32-bit binary, system server: no
09-01 13:10:07.260 I/Xposed  (  446): SELinux enabled: yes, enforcing: yes
09-01 13:10:07.260 I/Xposed  (  446): -----------------
09-01 13:10:07.260 I/Xposed  (  446): Added Xposed (/system/framework/XposedBridge.jar) to CLASSPATH
09-01 13:10:07.460 I/Xposed  (  446): Detected ART runtime
09-01 13:10:07.480 I/Xposed  (  446): Found Xposed class de/robv/android/xposed/XposedBridge, now initializing
09-01 13:10:07.630 E/Xposed  (  446): Error while loading XResources class 'android/content/res/XResources':
09-01 13:10:07.630 E/Xposed  (  446): java.lang.IncompatibleClassChangeError: android.content.res.XResources
09-01 13:10:07.630 E/Xposed  (  446):   at java.lang.Class dalvik.system.DexFile.defineClassNative(java.lang.String, java.lang.ClassLoader, long) (DexFile.java:-2)
09-01 13:10:07.630 E/Xposed  (  446):   at java.lang.Class dalvik.system.DexFile.defineClass(java.lang.String, java.lang.ClassLoader, long, java.util.List) (DexFile.java:226)
09-01 13:10:07.630 E/Xposed  (  446):   at java.lang.Class dalvik.system.DexFile.loadClassBinaryName(java.lang.String, java.lang.ClassLoader, java.util.List) (DexFile.java:219)
09-01 13:10:07.630 E/Xposed  (  446):   at java.lang.Class dalvik.system.DexPathList.findClass(java.lang.String, java.util.List) (DexPathList.java:321)
09-01 13:10:07.630 E/Xposed  (  446):   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:54)
09-01 13:10:07.630 E/Xposed  (  446):   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:511)
09-01 13:10:07.630 E/Xposed  (  446):   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:469)
09-01 13:10:07.630 E/Xposed  (  446):   at boolean de.robv.android.xposed.XposedBridge.initNative() (XposedBridge.java:-2)
09-01 13:10:07.630 E/Xposed  (  446):   at void de.robv.android.xposed.XposedBridge.main(java.lang.String[]) (XposedBridge.java:96)
09-01 13:10:07.630 I/Xposed  (  446): Errors during native Xposed initialization
rovo89 commented 9 years ago

I will look at this when I have time, but generally MIUI has many AOSP-incompatible, closed-source changes and I've made too many bad experiences with them in the past, so this is rather low priority for me.

A possible workaround could be to disable the resources APIs in the Xposed Installer settings - but I'm not 100% sure if that will work in this case.

sarvesvara commented 9 years ago

Great support for XPOSED. Thanks rovo89... We need for MI Note Pro... straight work, or workaround. Highly appreciated.

ac3dts71 commented 9 years ago

Thank you rovo89 for the hardwork on XPOSED. I wish you could spare some time just to try out the possible workaround stated above for MI NOTE PRO. I would really appreciate it. Thanks in advance.

rovo89 commented 9 years ago

Maybe you misunderstood me. You can try to test the work-around I described - I can't do this because I'm not using MIUI.

sarvesvara commented 9 years ago

How to do this? "disable the resources APIs in the Xposed Installer settings". This installer just installs when we click it.

rovo89 commented 9 years ago

Also, make sure you're using Xposed Installer 3.0 alpha4.

hardartcore commented 9 years ago

Still the same error.

ac3dts71 commented 9 years ago

No luck by disabling resource hooks, the installer still says although xposed v73 is installed but not active.

sarvesvara commented 9 years ago

Same here... Issue continues

megumi-kato commented 8 years ago

I use the zip file from http://en.miui.com/thread-78894-1-1.html instead of the official site (xposed-v80-sdk21-arm.zip - [Click for QR Code] ) then everything is ok now~~