我创建了两个 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 文档,但没有发现有关此问题的任何信息。有没有办法解决这个问题,而无需在我的一个库中命名包?