Tencent / matrix

Matrix is a plugin style, non-invasive APM system developed by WeChat.
Other
11.63k stars 1.88k forks source link

混淆后运行崩溃 #749

Open ArtisanM opened 2 years ago

ArtisanM commented 2 years ago

异常类型:app 运行时异常

matrix版本: 2.0.5

问题描述: debug包正常运行,release包一运行就崩,特地用sample项目打了个release包也是同样的问题

堆栈/日志: 2022-05-18 16:46:40.476 8251-8251/? E/.tencent.matri: ----- class 'Lcom/tencent/matrix/trace/tracer/SignalAnrTracer;' cl=0x130722a8 ----- objectSize=355 (120 from super) access=0x0008.0001 super='java.lang.Class' (cl=0x130722a8) vtable (2 entries, 6 in super): 0: void com.tencent.matrix.trace.tracer.SignalAnrTracer.h() 1: void com.tencent.matrix.trace.tracer.SignalAnrTracer.j() direct methods (15 entries): 0: void com.tencent.matrix.trace.tracer.SignalAnrTracer.() 1: void com.tencent.matrix.trace.tracer.SignalAnrTracer.(b.c.a.n.d.c) 2: void com.tencent.matrix.trace.tracer.SignalAnrTracer.l(boolean) 3: boolean com.tencent.matrix.trace.tracer.SignalAnrTracer.m() 4: void com.tencent.matrix.trace.tracer.SignalAnrTracer.n(boolean) 5: void com.tencent.matrix.trace.tracer.SignalAnrTracer.o() 6: void com.tencent.matrix.trace.tracer.SignalAnrTracer.onANRDumpTrace() 7: void com.tencent.matrix.trace.tracer.SignalAnrTracer.onANRDumped() 8: void com.tencent.matrix.trace.tracer.SignalAnrTracer.onNativeBacktraceDumped() 9: void com.tencent.matrix.trace.tracer.SignalAnrTracer.onPrintTrace() 10: void com.tencent.matrix.trace.tracer.SignalAnrTracer.p(java.lang.String, java.lang.String) 11: void com.tencent.matrix.trace.tracer.SignalAnrTracer.q() 12: void com.tencent.matrix.trace.tracer.SignalAnrTracer.r() 13: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.s() 14: void com.tencent.matrix.trace.tracer.SignalAnrTracer.t(boolean, boolean) static fields (12 entries): 0: boolean com.tencent.matrix.trace.tracer.SignalAnrTracer.d 1: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.e 2: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.f 3: boolean com.tencent.matrix.trace.tracer.SignalAnrTracer.g 4: boolean com.tencent.matrix.trace.tracer.SignalAnrTracer.h 5: long com.tencent.matrix.trace.tracer.SignalAnrTracer.i 6: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.j 7: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.k 8: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.l 9: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.m 10: long com.tencent.matrix.trace.tracer.SignalAnrTracer.n 11: long com.tencent.matrix.trace.tracer.SignalAnrTracer.o 2022-05-18 16:46:40.476 8251-8251/? E/.tencent.matri: Failed to register native method com.tencent.matrix.trace.tracer.SignalAnrTracer.nativeInitSignalAnrDetective(Ljava/lang/String;Ljava/lang/String;)V in /data/app/~~aftAU3xWVcG4GXE3Zi4CsA==/sample.tencent.matrix-9FyaxQ5Om_9S-GCnvgP4UA==/base.apk 2022-05-18 16:46:40.477 8251-8251/? E/AndroidRuntime: FATAL EXCEPTION: main Process: sample.tencent.matrix, PID: 8251 java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/~~aftAU3xWVcG4GXE3Zi4CsA==/sample.tencent.matrix-9FyaxQ5Om_9S-GCnvgP4UA==/lib/arm64/libtrace-canary.so" at java.lang.Runtime.loadLibrary0(Runtime.java:1077) at java.lang.Runtime.loadLibrary0(Runtime.java:998) at java.lang.System.loadLibrary(System.java:1657) at com.tencent.matrix.trace.tracer.SignalAnrTracer.(SignalAnrTracer.java:1) at b.c.a.n.a.run(TracePlugin.java:24) at b.c.a.n.c.start(TracePlugin.java:7) at sample.tencent.matrix.MatrixApplication.onCreate(MatrixApplication.java:59) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1224) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7687) at android.app.ActivityThread.access$2700(ActivityThread.java:279) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2506) at android.os.Handler.dispatchMessage(Handler.java:109) at android.os.Looper.loopOnce(Looper.java:206) at android.os.Looper.loop(Looper.java:296) at android.app.ActivityThread.main(ActivityThread.java:8899) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:976)

RabbitFeng commented 2 years ago

尝试在proguard-rules.pro文件中加入:-keep class com.tencent.matrix.trace.tracer.* { ; }