Android 从非风味应用程序引用的多风味库 - AAPT:未找到资源
Android multi flavor library referenced from non flavor application - AAPT: No resource found
我有包含字符串资源的库:
<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" />
不使用flavors是没有问题的。
现在我想用不同的文本为库添加新的风格。
build.gradle 图书馆:
android {
...
productFlavors {
myFlavor {}
}
}
然后我为新口味创建新的资源文件\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' 中的资源将在不同的应用程序中消耗,这些应用程序也会指定 'myFlavor' 风格。
我需要在应用程序中更改什么才能解决此错误?
感谢您的帮助。
编辑:
我上传了我的示例项目 here.
首先,将风味配置更改为您的依赖项:
compile project(path: ':mylibrary', configuration: 'myFlavorRelease')
其次,将*mylibrary\src\myFlavor*中错误的AndroidManifest.xml替换为*mylibrary\src\main*中的正确。
我有包含字符串资源的库:
<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" />
不使用flavors是没有问题的。 现在我想用不同的文本为库添加新的风格。
build.gradle 图书馆:
android {
...
productFlavors {
myFlavor {}
}
}
然后我为新口味创建新的资源文件\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' 中的资源将在不同的应用程序中消耗,这些应用程序也会指定 'myFlavor' 风格。
我需要在应用程序中更改什么才能解决此错误?
感谢您的帮助。
编辑: 我上传了我的示例项目 here.
首先,将风味配置更改为您的依赖项:
compile project(path: ':mylibrary', configuration: 'myFlavorRelease')
其次,将*mylibrary\src\myFlavor*中错误的AndroidManifest.xml替换为*mylibrary\src\main*中的正确。