android - Gradle 构建失败,不同产品的字符串名称相同
问题描述
我有一个项目,其中我具有相同的字符串名称,但基于产品具有不同的值,如下所示
<string name="no_storage" product="nosdcard">Insert SD card before using camera</string>
<string name="no_storage" product="default">Insert SD card before using camera</string>
但是在使用 gradle 构建时,我收到以下错误
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':mergeDebugResources'
Error: Found item String/no_storage more than one time
有没有办法绕过这个检查或解决这个问题?
解决方案
您应该将字符串值放在与风味相关的适当目录中:
src/nosdcard/res/strings.xml
(删除product="nosdcard"
属性):
<string name="no_storage">Insert SD card before using camera</string>
src/main/res/stringx.xml
(删除product="default"
属性):
<string name="no_storage">Insert SD card before using camera</string>
我假设default
“产品”是指默认源集。有关详细信息,请阅读有关构建变体的文档。
推荐阅读
- javascript - 如何在单击按钮之前隐藏 div?
- javascript - 如何访问嵌套对象
- java - 在控制台应用程序终止的情况下如何正确关闭 java.net ServerSocket?
- jsp - ADF selectOneChoice 交替触发 ValueChangeListener
- ruby-on-rails - Omniauth-Trello (RoR) 的回调 - 无法登录
- css - CSS - 修复标题行的布局以保持一致
- javascript - 如何从嵌套子组件传递事件?
- php - 数据表未在每个循环内的 ajax 上刷新
- html - 如何使用@media 来纠正响应式显示?
- r - 从R中的列表和嵌套列表创建名称向量