我有包含字符串资源的库:
<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。
答案 0 :(得分:2)
首先,将风味配置更改为您的依赖项:
compile project(path: ':mylibrary', configuration: 'myFlavorRelease')
其次,通过* mylibrary \ src \ main *中的正确替换* mylibrary \ src \ myFlavor *中错误的AndroidManifest.xml。