如何在styles.xml中引用第三方库的属性?
How to reference third party library's attrs in styles.xml?
我在这里使用 Material Range Bar library which has its own 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 文件移动到 :app
依赖于
的 :design-library
确保您的库模块 (design-library
) 将 Material Range Bar 库指定为其依赖项之一。没有这种依赖性,它将无法“看到”该属性,即使您的 app
模块包含该依赖性。
我在这里使用 Material Range Bar library which has its own 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 文件移动到 :app
依赖于
:design-library
确保您的库模块 (design-library
) 将 Material Range Bar 库指定为其依赖项之一。没有这种依赖性,它将无法“看到”该属性,即使您的 app
模块包含该依赖性。