PAGalaxyLab / YAHFA

Yet Another Hook Framework for ART
GNU General Public License v3.0
1.56k stars 350 forks source link

有的小米设备上hook 后崩溃问题 #115

Closed Carlyle-Lee closed 4 years ago

Carlyle-Lee commented 4 years ago

Caused by: java.lang.IncompatibleClassChangeError: The method 'void android.app.Activity.startActivityForResult(android.content.Intent, int)' was expected to be of type static but instead was found to be of type virtual (declaration of 'android.view.ViewGroup' appears in /system/framework/framework.jar:classes2.dex) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3443) at com.qiyi.lens.hooks.ViewDrawHookList.dispatchDraw(ViewDrawHookList.java:29) at android.view.View.draw(View.java:17217)  at com.android.internal.policy.DecorView.draw(DecorView.java:757)  at android.view.View.updateDisplayListIfDirty(View.java:16196)  at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:648)  at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:654)  at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:762)  at android.view.ViewRootImpl.draw(ViewRootImpl.java:2844)  at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2652)  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2259)  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1298)  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6437)  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:876)  at android.view.Choreographer.doCallbacks(Choreographer.java:688)  at android.view.Choreographer.doFrame(Choreographer.java:623)  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:862)  at android.os.Handler.handleCallback(Handler.java:754)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:163)  at android.app.ActivityThread.main(ActivityThread.java:6393) 

Android 系统版本: SDK version 25; OS: 7.1.1 Mi UI : 10 9.5.14 崩溃的方法,不应该出现在调用的方法栈内.

Carlyle-Lee commented 4 years ago

Caused by: java.lang.IllegalAccessError: Method 'void android.accessibilityservice.GestureDescription$TouchPoint.()' is inaccessible to class 'android.app.Instrumentation' (declaration of 'android.app.Instrumentation' appears in /system/framework/framework.jar) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at com.qiyi.lens.hooks.ActivityHookList.callActivityOnCreate(ActivityHookList.java:90) at org.qiyi.pluginlibrary.component.wraper.NeptuneInstrument.callActivityOnCreate(NeptuneInstrument.java:180)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2710)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2818)  at android.app.ActivityThread.-wrap12(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:163)  at android.app.ActivityThread.main(ActivityThread.java:6393)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 

Carlyle-Lee commented 4 years ago

fixed : hook method 被內聯了.