btrace icon indicating copy to clipboard operation
btrace copied to clipboard

btrace在android sdk升级13之后编译报错

Open wwzlp opened this issue 1 year ago • 1 comments

之前debug能正常编译,在项目组升级android sdk为13之后,使用btrace plugin就会编译报错如下:

1.PC环境:linux,JDK版本:Java 8,Python版本: 2.7.15,编译失败 2.手机环境:编译未通过 3.APK文件:64位,assets 目录是否包含 methodMapping.txt 文件:不包含 4.编译环境:Android Studio Giraffe | 2022.3.1 Patch 1,AGP版本:com.android.tools.build:gradle:4.2.0,btrace 版本:2.0.3-rc02,Java 版本:Java 11,已禁用R8(android.enableR8=false),debug模式,未开启混淆

Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, position: Lorg/bouncycastle/jce/provider/X509CertificateObject;(Lorg/bouncycastle/asn1/x509/X509CertificateStructure;)V, origin: /drone/src/hxapp/build/intermediates/transforms/DomainTransform/dysource/debug/335.jar:org/bouncycastle/jce/provider/X509CertificateObject.class at Version.fakeStackEntry(Version_2.2.64.java:0) at com.android.tools.r8.utils.a0.a(SourceFile:89) at com.android.tools.r8.D8.run(D8.java:11) at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:116) ... 37 more Caused by: java.lang.NullPointerException at com.android.tools.r8.ir.conversion.u$a.a(SourceFile:1) at com.android.tools.r8.ir.conversion.u.a(SourceFile:13) at com.android.tools.r8.r.o.I.a(SourceFile:273) at com.android.tools.r8.ir.conversion.o.a(SourceFile:619) at com.android.tools.r8.ir.conversion.S.a(SourceFile:259) at com.android.tools.r8.graph.p.a(SourceFile:130) at com.android.tools.r8.graph.p.b(SourceFile:11) at com.android.tools.r8.graph.p.a(SourceFile:108) at com.android.tools.r8.graph.h1.a(SourceFile:39) at com.android.tools.r8.graph.M1.a(SourceFile:2) at com.android.tools.r8.ir.conversion.T.a(SourceFile:603) at com.android.tools.r8.utils.a0.a(SourceFile:124) at com.android.tools.r8.ir.conversion.T.c(SourceFile:12) at com.android.tools.r8.ir.conversion.T.a(SourceFile:477) at com.android.tools.r8.ir.conversion.T.a(SourceFile:414) at com.android.tools.r8.graph.n0.b(SourceFile:2) at com.android.tools.r8.graph.t1.b(SourceFile:4) at com.android.tools.r8.graph.u1.a(SourceFile:3) at com.android.tools.r8.graph.v1.d(SourceFile:5) at com.android.tools.r8.graph.u1.a(SourceFile:1) at com.android.tools.r8.graph.t1.b(SourceFile:2) at com.android.tools.r8.graph.n0.b(SourceFile:1) at com.android.tools.r8.ir.conversion.T.b(SourceFile:17) at com.android.tools.r8.utils.c1.a(SourceFile:36) at com.android.tools.r8.utils.c1.a(SourceFile:41) at com.android.tools.r8.utils.c1.a(SourceFile:35) at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69) at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:322) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:66) at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:36) at com.android.tools.r8.utils.c1.a(SourceFile:34) at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) at com.android.tools.r8.utils.c1.a(SourceFile:6) at com.android.tools.r8.utils.c1.a(SourceFile:40) at com.android.tools.r8.utils.c1.a(SourceFile:38) at com.android.tools.r8.utils.c1.a(SourceFile:37) at com.android.tools.r8.ir.conversion.T.a(SourceFile:381) at com.android.tools.r8.D8.d(D8.java:36) at com.android.tools.r8.D8.b(D8.java:1) at com.android.tools.r8.utils.a0.a(SourceFile:47) ... 39 more Suppressed: java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.b0: java.lang.NullPointerException at com.android.tools.r8.D8.d(D8.java:173) ... 41 more Caused by: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.b0: java.lang.NullPointerException at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:552) at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:513) at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:86) at com.android.tools.r8.utils.c1.a(SourceFile:11) at com.android.tools.r8.utils.c1.a(SourceFile:40) at com.android.tools.r8.utils.c1.a(SourceFile:38) at com.android.tools.r8.utils.c1.a(SourceFile:37) at com.android.tools.r8.ir.conversion.T.a(SourceFile:381) at com.android.tools.r8.D8.d(D8.java:36) ... 41 more Caused by: com.android.tools.r8.utils.b0: java.lang.NullPointerException at com.android.tools.r8.utils.b0.a(SourceFile:6) at com.android.tools.r8.utils.a0.a(SourceFile:126) at com.android.tools.r8.ir.conversion.T.c(SourceFile:12) at com.android.tools.r8.ir.conversion.T.a(SourceFile:477) at com.android.tools.r8.ir.conversion.T.a(SourceFile:414) at com.android.tools.r8.graph.n0.b(SourceFile:2) at com.android.tools.r8.graph.t1.b(SourceFile:4) at com.android.tools.r8.graph.u1.a(SourceFile:3) at com.android.tools.r8.graph.v1.d(SourceFile:5) at com.android.tools.r8.graph.u1.a(SourceFile:1) at com.android.tools.r8.graph.t1.b(SourceFile:2) at com.android.tools.r8.graph.n0.b(SourceFile:1) at com.android.tools.r8.ir.conversion.T.b(SourceFile:17) at com.android.tools.r8.utils.c1.a(SourceFile:36) at com.android.tools.r8.utils.c1.a(SourceFile:41) at com.android.tools.r8.utils.c1.a(SourceFile:35) at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69) at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:322) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:66) at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:36) at com.android.tools.r8.utils.c1.a(SourceFile:34) at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) at com.android.tools.r8.utils.c1.a(SourceFile:6) ... 46 more [CIRCULAR REFERENCE:java.lang.NullPointerException]

Task :hxapp:dexBuilderDysourceDebug FAILED FAILURE: Build failed with an exception.

wwzlp avatar Dec 07 '23 06:12 wwzlp

@wwzlp 是否可以提供问题场景下的 org/bouncycastle/jce/provider/X509CertificateObject.class 文件,我们需要验证下是否是 btrace 的插桩引起的

WangFeng-AHU avatar Feb 04 '24 04:02 WangFeng-AHU