HuolalaTech / hll-wp-therouter-android

A framework for assisting in the renovation of Android componentization(帮助 App 进行组件化改造的动态路由框架)
https://therouter.cn/
Apache License 2.0
1.11k stars 130 forks source link

Project build error: Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: ...app/build/intermediates/transforms/TheRouter/uat/debug/353.jar:../GrpcLog.class #60

Closed yorkvolvo closed 1 year ago

yorkvolvo commented 1 year ago

Can't build the project with TheRouter version 1.1.2

复现问题

在项目中引用我们的一个 sdk 后编译报错,我在 TheRouter demo 中添加 sdk 引用后同样的编译报错,看起来是 TheRuter 相关的编译报错。。。

error log:

Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: 

...app/build/intermediates/transforms/TheRouter/uat/debug/353.jar:../GrpcLog.class

GrpcLog 代码

import kotlin.String

internal sealed class GrpcLog : LogString {
  public override val category: String = "Grpc"
}

internal class Grpclog : GrpcLog {
  private val `value`: String

  public override val message: String
    get() = "${value}"

  public constructor(`value`: String) {
    this.`value` = `value`
  }
}

详细 log

    Caused by: com.android.tools.r8.internal.Jj: com.android.tools.r8.internal.Jc: Class content provided for type descriptor com.polestar.remotecarservice.logging.GrpcLog actually defines class com.polestar.remotecarservice.logging.Grpclog
        at com.android.tools.r8.internal.Jj.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:6)
        at com.android.tools.r8.internal.Hj.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:104)
        at com.android.tools.r8.internal.Hj.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:100)
        at com.android.tools.r8.graph.u2.b(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:2)
        at com.android.tools.r8.internal.Ma.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:6)
        at com.android.tools.r8.internal.ua.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:8)
        at com.android.tools.r8.internal.ua.get(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:1)
        at com.android.tools.r8.internal.va.b(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:28)
        at com.android.tools.r8.graph.B2.d(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:9)
        at com.android.tools.r8.synthesis.s.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:276)
        at com.android.tools.r8.graph.d.c(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:6)
        at com.android.tools.r8.graph.d.e(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:3)
        at com.android.tools.r8.graph.h0.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:1)
        at com.android.tools.r8.internal.fL.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:14)
        at com.android.tools.r8.internal.gL.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:226)
        at java.base/java.util.TimSort.binarySort(TimSort.java:296)
        at java.base/java.util.TimSort.sort(TimSort.java:239)
        at java.base/java.util.Arrays.sort(Arrays.java:1515)
        at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:353)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
        at com.android.tools.r8.internal.gL.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:224)
        at com.android.tools.r8.internal.gL.<init>(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:30)
        at com.android.tools.r8.internal.q30.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:516)
        at com.android.tools.r8.internal.F2.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:322)
        at com.android.tools.r8.utils.C.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:4)
        at com.android.tools.r8.utils.C.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:38)
        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:321)
        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.C.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:37)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
        at com.android.tools.r8.utils.C.a(R8_3.3.83_3e328a3bbd0c840823c96123eb0f6192f0adf17b30ae46f695be39af0bc3505e:9)
        ... 49 more
    [CIRCULAR REFERENCE:com.android.tools.r8.internal.Jc: Class content provided for type descriptor com.polestar.remotecarservice.logging.GrpcLog actually defines class com.polestar.remotecarservice.logging.Grpclog]
kymjs commented 1 year ago

看起来是R8desugar过程中的问题,应该跟SDK无关,关闭R8再试试呢

JackBro3306 commented 6 months ago

这边也遇到了同样的问题, 用的是 id("cn.therouter.agp8") version "1.2.2" apply false AGP版本为8.2.1 android.enableR8属性已被弃用