如何在styles.xml中引用第三方库的attrs?

问题描述

我使用的Material Range Bar library在这里有自己的attrs

<resources>

    <declare-styleable name="RangeBar">
        <attr name="mrb_rangeBarColor" format="reference|color" />
...

我的styles.xml:

  <style name="MyAppRangeBar">
    <item name="mrb_rangeBarColor">@color/gray</item>
...

./gradlew assembleRelease在给我:

> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > 1 exception was raised by workers:
     com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking Failed
     /var/lib/jenkins/workspace/TestEveryPR/MyApp/cmb-views/build/intermediates/packaged_res/release/values/values.xml:884:5-893:11: AAPT: error: style attribute 'attr/mrb_rangeBarColor (aka com.myapppackage.prompts:attr/mrb_rangeBarColor)' not found.

我想念什么?

过去,当我们的styles.xml位于:app模块中时,它就可以工作了。 现在,当我将styles.xml文件移至:design-library所依赖的:app时,它停止工作了

解决方法

确保您的库模块(design-library)将“物料范围栏”库指定为其依赖项之一。没有此依赖关系,即使您的app模块包含依赖关系,也无法“看到”属性。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...