Open Jun1orChan opened 2 years ago
异常类型:app 运行时异常
手机型号:Google Pixel 5
手机系统版本:Android 12
matrix版本:2.0.2
gradle版本:4.1.0/gradle-7.1-bin.zip
问题描述:Android 12的机器上,trace-canary无法使用,原因是:UIThreadMonitor反射获取了:mFrameIntervalNanos字段,目前该字段已经是被屏蔽的非 SDK 接口,可以使用:android.view.Display#getRefreshRate代替。连接参考:https://developer.android.google.cn/about/versions/12/non-sdk-12?hl=zh-cn, private long getIntendedFrameTimeNs(long defaultValue) { try { return ReflectUtils.reflectObject(vsyncReceiver, "mTimestampNanos", defaultValue); } catch (Exception e) { e.printStackTrace(); MatrixLog.e(TAG, e.toString()); } return defaultValue; } 异常是这个函数抛出的;
反射的掉用的多个字段,均被标识:@UnsupportedAppUsage
堆栈/日志: E/Matrix.ReflectUtils: java.lang.reflect.InvocationTargetExceptionisHard=true java.lang.reflect.InvocationTargetException[com.tencent.matrix.util.ReflectUtils:reflectObject(56)] [com.tencent.matrix.trace.core.UIThreadMonitor:getIntendedFrameTimeNs(383)] [com.tencent.matrix.trace.core.UIThreadMonitor:dispatchEnd(264)] [com.tencent.matrix.trace.core.UIThreadMonitor:access$200(35)] [com.tencent.matrix.trace.core.UIThreadMonitor$1:dispatchEnd(138)] [com.tencent.matrix.trace.core.LooperMonitor$LooperDispatchListener:onDispatchEnd(93)] [com.tencent.matrix.trace.core.LooperMonitor:dispatch(348)] [com.tencent.matrix.trace.core.LooperMonitor:access$000(42)] [com.tencent.matrix.trace.core.LooperMonitor$LooperPrinter:println(267)] [android.os.Looper:loopOnce(236)] [android.os.Looper:loop(288)] [android.app.ActivityThread:main(7838)] [java.lang.reflect.Method:invoke(-2)] [com.android.internal.os.RuntimeInit$MethodAndArgsCaller:run(548)] [com.android.internal.os.ZygoteInit:main(1003)]
后续版本会修复,谢谢支持。
异常类型:app 运行时异常
手机型号:Google Pixel 5
手机系统版本:Android 12
matrix版本:2.0.2
gradle版本:4.1.0/gradle-7.1-bin.zip
问题描述:Android 12的机器上,trace-canary无法使用,原因是:UIThreadMonitor反射获取了:mFrameIntervalNanos字段,目前该字段已经是被屏蔽的非 SDK 接口,可以使用:android.view.Display#getRefreshRate代替。连接参考:https://developer.android.google.cn/about/versions/12/non-sdk-12?hl=zh-cn, private long getIntendedFrameTimeNs(long defaultValue) { try { return ReflectUtils.reflectObject(vsyncReceiver, "mTimestampNanos", defaultValue); } catch (Exception e) { e.printStackTrace(); MatrixLog.e(TAG, e.toString()); } return defaultValue; } 异常是这个函数抛出的;
反射的掉用的多个字段,均被标识:@UnsupportedAppUsage