我创建了两个 aar 库:com.example:test1:1.0.0 和 com.example:test2:1.0.0。我将这些库添加到我的主应用程序中,构建 Android-Studio 后抛出错误:
Duplicate class com.example.utils.a found in modules classes.jar (com.example:test1:1.0.0) and classes.jar (com.example:test2:1.0.0)
我发现发生此错误是因为两个库在同一个包(com.example.utils)中都有类,并且在混淆后,R8 创建了具有相同全名的类(a.class)(我在 aar 的 classes.jar 中看到了这个)。如果我在我的库的属性中禁用 R8,这个错误就消失了。
'a' 不是库类:经过混淆处理后,所有库类名称保持不变,并且 a.class 由 R8 额外添加到包中。我阅读了 R8 文档并没有发现任何关于这个问题的信息。有什么方法可以解决这个问题,而无需在我的一个库中重新命名包?