tiann / FreeReflection

A library that lets you use reflection without any restriction above Android P
MIT License
2.88k stars 532 forks source link

Not Support Android S? #42

Closed angcyo closed 1 year ago

angcyo commented 2 years ago

Cannot run on Android S.

zhanghai commented 2 years ago

EDIT: Sorry, I replied to the wrong repo 😅

angcyo commented 2 years ago
implementation 'com.github.tiann:FreeReflection:3.1.0'

override fun attachBaseContext(base: Context) {
    super.attachBaseContext(base)
    Reflection.unseal(base)
}

These are the logs

2021-12-01 10:24:14.900 W/cyo.uicore.dem: Accessing hidden method Ldalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime; (unsupported,core-platform-api, reflection, allowed)
2021-12-01 10:24:14.900 W/cyo.uicore.dem: Accessing hidden method Ldalvik/system/VMRuntime;->setHiddenApiExemptions([Ljava/lang/String;)V (blocked,core-platform-api, reflection, denied)
2021-12-01 10:24:14.902 W/cyo.uicore.dem: Got a deoptimization request on un-deoptimizable method java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])
2021-12-01 10:24:14.931 W/BootstrapClass: reflect bootstrap failed:
    java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at me.weishu.reflection.BootstrapClass.<clinit>(BootstrapClass.java:29)
        at me.weishu.reflection.BootstrapClass.exemptAll(BootstrapClass.java:72)
        at me.weishu.reflection.Reflection.unseal(Reflection.java:35)
        at com.angcyo.core.CoreApplication.attachBaseContext(CoreApplication.kt:69)
        at android.app.Application.attach(Application.java:340)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1193)
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1379)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6988)
        at android.app.ActivityThread.access$1700(ActivityThread.java:253)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2180)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8182)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
     Caused by: java.lang.NoSuchMethodException: dalvik.system.VMRuntime.setHiddenApiExemptions [class [Ljava.lang.String;]
        at java.lang.Class.getMethod(Class.java:2103)
        at java.lang.Class.getDeclaredMethod(Class.java:2081)
        at java.lang.reflect.Method.invoke(Native Method) 
        at me.weishu.reflection.BootstrapClass.<clinit>(BootstrapClass.java:29) 
        at me.weishu.reflection.BootstrapClass.exemptAll(BootstrapClass.java:72) 
        at me.weishu.reflection.Reflection.unseal(Reflection.java:35) 
        at com.angcyo.core.CoreApplication.attachBaseContext(CoreApplication.kt:69) 
        at android.app.Application.attach(Application.java:340) 
        at android.app.Instrumentation.newApplication(Instrumentation.java:1193) 
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1379) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6988) 
        at android.app.ActivityThread.access$1700(ActivityThread.java:253) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2180) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loopOnce(Looper.java:233) 
        at android.os.Looper.loop(Looper.java:344) 
        at android.app.ActivityThread.main(ActivityThread.java:8182) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034) 
qzhuorui commented 1 year ago
  • OnePlus 9
  • ColorOS v12
  • android 12
implementation 'com.github.tiann:FreeReflection:3.1.0'

override fun attachBaseContext(base: Context) {
    super.attachBaseContext(base)
    Reflection.unseal(base)
}

These are the logs

2021-12-01 10:24:14.900 W/cyo.uicore.dem: Accessing hidden method Ldalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime; (unsupported,core-platform-api, reflection, allowed)
2021-12-01 10:24:14.900 W/cyo.uicore.dem: Accessing hidden method Ldalvik/system/VMRuntime;->setHiddenApiExemptions([Ljava/lang/String;)V (blocked,core-platform-api, reflection, denied)
2021-12-01 10:24:14.902 W/cyo.uicore.dem: Got a deoptimization request on un-deoptimizable method java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])
2021-12-01 10:24:14.931 W/BootstrapClass: reflect bootstrap failed:
    java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at me.weishu.reflection.BootstrapClass.<clinit>(BootstrapClass.java:29)
        at me.weishu.reflection.BootstrapClass.exemptAll(BootstrapClass.java:72)
        at me.weishu.reflection.Reflection.unseal(Reflection.java:35)
        at com.angcyo.core.CoreApplication.attachBaseContext(CoreApplication.kt:69)
        at android.app.Application.attach(Application.java:340)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1193)
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1379)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6988)
        at android.app.ActivityThread.access$1700(ActivityThread.java:253)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2180)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:233)
        at android.os.Looper.loop(Looper.java:344)
        at android.app.ActivityThread.main(ActivityThread.java:8182)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
     Caused by: java.lang.NoSuchMethodException: dalvik.system.VMRuntime.setHiddenApiExemptions [class [Ljava.lang.String;]
        at java.lang.Class.getMethod(Class.java:2103)
        at java.lang.Class.getDeclaredMethod(Class.java:2081)
        at java.lang.reflect.Method.invoke(Native Method) 
        at me.weishu.reflection.BootstrapClass.<clinit>(BootstrapClass.java:29) 
        at me.weishu.reflection.BootstrapClass.exemptAll(BootstrapClass.java:72) 
        at me.weishu.reflection.Reflection.unseal(Reflection.java:35) 
        at com.angcyo.core.CoreApplication.attachBaseContext(CoreApplication.kt:69) 
        at android.app.Application.attach(Application.java:340) 
        at android.app.Instrumentation.newApplication(Instrumentation.java:1193) 
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1379) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6988) 
        at android.app.ActivityThread.access$1700(ActivityThread.java:253) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2180) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loopOnce(Looper.java:233) 
        at android.os.Looper.loop(Looper.java:344) 
        at android.app.ActivityThread.main(ActivityThread.java:8182) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034) 

I have the same situation. Have you found a solution?

mubasher380 commented 1 year ago

Did you find any solution??

yingshaoxo commented 1 year ago

Did anyone found the solution?

tiann commented 1 year ago

It supports android 13