从非风味应用程序引用的Android多风味库 - AAPT:找不到资源

时间:2016-01-07 14:59:24

标签: android gradle android-productflavors

我有包含字符串资源的库:

<string name="lib_name">MyLibrary</string>

应用程序build.gradle中对库的引用:

dependencies{
  compile project(':mylibrary')
...
}

在应用程序模块中,我显示了此文本资源:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/lib_name" />

没有使用口味就没有问题。 现在我想为具有不同文本的库添加新的味道。

库的build.gradle:

android {
...
  productFlavors {
    myFlavor {}
  }
}

然后我为新的flavor \ mylibrary \ src \ myFlavor \ res \ values \ strings.xml创建新的资源文件:

<string name="lib_name">MyLibrary My Flavor</string>

但是现在我有构建错误,资源不再可用:

AAPT: No resource found that matches the given name (at 'text' with value '@string/lib_name').

我需要这个应用程序只有默认的味道。资源在myFlavor&#39;将被用于不同的应用程序,这也将有myFlavor&#39;指定的味道。

我需要在应用程序中更改以解决此错误?

感谢您的帮助。

编辑: 我上传了我的示例项目here

1 个答案:

答案 0 :(得分:2)

首先,将风味配置更改为您的依赖项:

compile project(path: ':mylibrary', configuration: 'myFlavorRelease')

其次,通过* mylibrary \ src \ main *中的正确替换* mylibrary \ src \ myFlavor *中错误的AndroidManifest.xml。