未解决的 aar 资源

Unresolved aar resources

我正在构建在多个应用程序中共享的 Android 库的自定义多项目层次结构。 例如:

在我的应用程序中,我可以正确使用已实现的 aars 的 Kotlin Class 和 xml 资源。

在我的二级库(例如库 D)中,我可以正确使用 compileOnly 一级 aar(例如库 A)的 Kotlin Class。我也可以在秒级 xml 资源中正确使用来自一级 aars 的 xml 资源。例如:

    <TextView
        android:layout_height="wrap_content"
        android:textColor="@color/MY-COLOR-FROM-1-LEVEL-AAR"
        android:layout_width="0dp" />

有效。

但我不能在 Kotlin 中使用相同的资源 类。示例:

someView.setCardBackgroundColor(ContextCompat.getColor(context,R.color.MY-COLOR-FROM-1-LEVEL-AAR))

给我“未解决的参考”。

在二级库(如库D)中build.gradle我导入一级库(如库A)使用:

compileOnly files('libs/LibraryA.aar')

有什么问题吗?

经过多次测试,我找到了解决办法。在 gradle.properties 文件中 second-level 项目(在本例中为库 D)只需更改

android.nonTransitiveRClass=true

android.nonTransitiveRClass=false