覆盖库中的资源 android

Override resources in library android

我正在使用我自己的图书馆。在这个库中我定义了一些资源:

colors.xml(图书馆)

<color name="colorPrimary">#000000</color>

在我的应用程序中(使用上述库)。我想覆盖原色。

colors.xml(应用程序)

<color name="colorPrimary">#ffffff</color>

我实际上想覆盖该属性,以便库(和我的应用程序)使用覆盖的属性,而不是库中声明的属性。它工作正常,但 Android Studio 一直大喊:

Overriding @color/colorPrimary which is marked as private in my_lib. If deliberate, use tools:override="true", otherwise pick a different name". That makes me think that this is not a good approach.

我也尝试将tools:override="true"添加到资源中:

<resources xmlns:tools="http://schemas.android.com/tools"
       tools:override="true">

但警告仍然存在。

我这样做有什么问题吗?。我无法选择其他名称,因为我希望库使用覆盖的值。

我正在使用 Android Studio 2.1.1gradle 2.1.0 版本。

谢谢。

tools:override 移动到 color 标签。

这没有错。 Android Studio 只是警告你,以防它不是故意的。

如果您在出现警告的行上按 alt-enter,AS 会为您插入覆盖属性并将其放在正确的位置。