Android studio 升级到Gradle 3.3后缺少翻译错误
升级到Gradle 3.3后,由于缺少翻译错误,我在构建代码时遇到了问题: 错误:xxx没有翻译成“af”(南非荷兰语)、“am”(阿姆哈拉语)、“ar”(阿拉伯语)、“az”(阿塞拜疆语)、“az-az”(阿塞拜疆语)、“be”(白俄罗斯语)、“bg”(保加利亚语)、“ca”(加泰罗尼亚语)、[…]、“zh-TW”(中文:台湾)、“zu”(祖鲁语)[漏译] 报告的大多数语言都是我的项目中包含的第三方模块支持的语言,现在它似乎为整个项目定义了支持的语言,这给了我一个没有翻译成上述语言的所有字符串的错误。在升级到Gradle 3.3之前,这不会导致任何问题 我考虑了以下解决办法:Android studio 升级到Gradle 3.3后缺少翻译错误,android-studio,build,localization,android-gradle-plugin,lint,Android Studio,Build,Localization,Android Gradle Plugin,Lint,升级到Gradle 3.3后,由于缺少翻译错误,我在构建代码时遇到了问题: 错误:xxx没有翻译成“af”(南非荷兰语)、“am”(阿姆哈拉语)、“ar”(阿拉伯语)、“az”(阿塞拜疆语)、“az-az”(阿塞拜疆语)、“be”(白俄罗斯语)、“bg”(保加利亚语)、“ca”(加泰罗尼亚语)、[…]、“zh-TW”(中文:台湾)、“zu”(祖鲁语)[漏译] 报告的大多数语言都是我的项目中包含的第三方模块支持的语言,现在它似乎为整个项目定义了支持的语言,这给了我一个没有翻译成上述语言的所有字符串
translateable=false
的字符串,我发现缺少翻译错误现在,我再次降级到以前的Gradle版本。但修复这些生成错误的最佳方法是什么?在build.gradle中添加以下代码
lintOptions {
disable 'MissingTranslation'
}
我检查了一下情况,希望在几个月前我发布这个问题后,可能会有一些更正 这些问题似乎是在Gradle插件2.3.0中引入的,而不是我在问题中提出的Gradle 3.3本身。降级插件可以避免错误,但很难成为长期解决方案 我发现问题中的选项3是处理它的最佳方式:将此添加到应用程序的build.gradle:
android {
defaultConfig {
...
resConfigs "en", "fr"
}
}
这在中进行了描述,如前所述,也在中进行了描述。它将删除所有不必要的资源以及警告/错误
引用文件:
Gradle资源收缩器仅删除应用程序代码未引用的资源,这意味着它不会删除不同设备配置的替代资源。如有必要,您可以使用Android Gradle插件的重新配置属性删除应用程序不需要的替代资源文件
例如,如果您正在使用包含语言的库
资源(如AppCompat或Google Play服务),然后是您的APK
包括这些文件中消息的所有翻译语言字符串
库是否将应用程序的其余部分转换为相同的
语言与否。如果你只想保留你的
应用程序正式支持,您可以使用
重新配置属性。未指定语言的任何资源都将被删除
删除
我得到的“误报”(不可翻译字符串缺少翻译错误)是针对在多个模块中定义的字符串。重命名字符串或为其提供翻译解决了问题。这似乎也是Gradle插件2.3.0引入的。谢谢。但你不同意我的问题中提到的解决方案2,阻止所有(包括合法)警告吗?我同意。我只是发布了代码来禁用它,因为我遇到了同样的问题。