matrix icon indicating copy to clipboard operation
matrix copied to clipboard

Matrix 升级到androidx之后开启混淆打出来的apk size变小了 dex出现丢失

Open Avengong opened this issue 4 years ago • 8 comments

Issue /提问须知

在提交 issue 之前,我们应该先查询是否已经有相关的 issue 以及常见问题。提交 issue 时,我们需要写明 issue 的原因,以及编译或运行过程的日志。issue 需要以下面的格式:

异常类型:开启混淆后,打出的apk包缺少dex文件

手机型号:无

手机系统版本:无

matrix版本: 2.0.2

gradle版本:4.1.0

问题描述:不开混淆没有问题。开启混淆后,部分dex文件缺失了,导致apk包小了近一半,无法运行。

堆栈/日志:
1. 如是编译异常,请在执行 gradle 命令时,加上 --stacktrace;
2. 日志我们需要过滤" Matrix. "关键字;

打包流程没问题,不确定你们需要哪些日志??

Avengong avatar Dec 02 '21 08:12 Avengong

+1

scuzoutao avatar Dec 06 '21 09:12 scuzoutao

@Avengong 可以安装不能运行?

Andyload avatar Dec 07 '21 04:12 Andyload

是的,我demo的apk有部分dex,可以安装无法运行。项目打出的正式包没有dex,无法安装。

Avengong avatar Dec 07 '21 06:12 Avengong

,我demo的apk有部分dex,可以安装无法运行。项目打出的正式包没有dex,无法安

我的是debug正常,但是release就没有dex

scuzoutao avatar Dec 07 '21 06:12 scuzoutao

我测试了一下是因为关闭了R8和开了混淆引起,看看工程是不是关闭了R8?

Andyload avatar Dec 07 '21 07:12 Andyload

测试了一下是因为关闭了R8和开了混淆引起,看看工程是不是关闭了R

官方demo打开了R8,编译出来的apk可以安装,但是也打不开。 E: ----- class 'Lcom/tencent/matrix/trace/tracer/SignalAnrTracer;' cl=0x12c55ab0 ----- E: super='java.lang.Class<com.tencent.matrix.trace.tracer.v>' (cl=0x12c55ab0) E: 0: void com.tencent.matrix.trace.tracer.SignalAnrTracer.h() E: 1: void com.tencent.matrix.trace.tracer.SignalAnrTracer.j() E: 0: void com.tencent.matrix.trace.tracer.SignalAnrTracer.() E: 1: void com.tencent.matrix.trace.tracer.SignalAnrTracer.(b.c.a.m.d.c) E: 2: void com.tencent.matrix.trace.tracer.SignalAnrTracer.l() E: 3: boolean com.tencent.matrix.trace.tracer.SignalAnrTracer.m() E: 4: void com.tencent.matrix.trace.tracer.SignalAnrTracer.n() E: 5: void com.tencent.matrix.trace.tracer.SignalAnrTracer.o(java.lang.String, java.lang.String) E: 6: void com.tencent.matrix.trace.tracer.SignalAnrTracer.onANRDumpTrace() E: 7: void com.tencent.matrix.trace.tracer.SignalAnrTracer.onANRDumped() E: 8: void com.tencent.matrix.trace.tracer.SignalAnrTracer.onPrintTrace() E: 9: void com.tencent.matrix.trace.tracer.SignalAnrTracer.p() E: 10: void com.tencent.matrix.trace.tracer.SignalAnrTracer.q() E: 11: void com.tencent.matrix.trace.tracer.SignalAnrTracer.r(boolean) E: 0: boolean com.tencent.matrix.trace.tracer.SignalAnrTracer.d E: 1: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.e E: 2: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.f E: 3: boolean com.tencent.matrix.trace.tracer.SignalAnrTracer.g E: 4: boolean com.tencent.matrix.trace.tracer.SignalAnrTracer.h E: 5: long com.tencent.matrix.trace.tracer.SignalAnrTracer.i E: 6: java.lang.String com.tencent.matrix.trace.tracer.SignalAnrTracer.j E: Failed to register native method com.tencent.matrix.trace.tracer.SignalAnrTracer.nativeInitSignalAnrDetective(Ljava/lang/String;Ljava/lang/String;)V in /data/app/sample.tencent.matrix-DUp_5L6pdFX20IwjCnbqKw==/base.apk E: FATAL EXCEPTION: main Process: sample.tencent.matrix, PID: 27316 java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/sample.tencent.matrix-DUp_5L6pdFX20IwjCnbqKw==/lib/arm64/libtrace-canary.so" at java.lang.Runtime.loadLibrary0(Runtime.java:1071) at java.lang.Runtime.loadLibrary0(Runtime.java:1007) at java.lang.System.loadLibrary(System.java:1667) at com.tencent.matrix.trace.tracer.SignalAnrTracer.(SignalAnrTracer.java:1) at b.c.a.m.a.run(TracePlugin.java:22) at b.c.a.m.c.start(TracePlugin.java:7) at sample.tencent.matrix.MatrixApplication.onCreate(MatrixApplication.java:58) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190) at android.app.ActivityThread.handleMakeApplication(ActivityThread.java:7184) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7134) at android.app.ActivityThread.access$1600(ActivityThread.java:274) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2102) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:8167) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100) E: [Application Error: sample.tencent.matrix#0] rejecting buffer: bufWidth=1452, bufHeight=751, front.active_legacy.{w=1452, h=688} E: [Surface(name=AppWindowToken{7248de6 token=Token{b5bc441 ActivityRecord{5ccbf28 u0 sample.tencent.matrix/.SplashActivity t986}}})/@0x47abe83 - animation-leash#0] No local sync point found, barrierLayer : [com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity$_2671#0]

scuzoutao avatar Dec 07 '21 08:12 scuzoutao

@scuzoutao 你看下transformClassesWithMatrixTraceTransformForDebug这个task输出有没抛出什么异常

Andyload avatar Dec 07 '21 09:12 Andyload

你的来信已收到,谢谢

headfirst123 avatar Dec 07 '21 09:12 headfirst123