Kap*_*put 22 android android-studio build.gradle android-gradle-plugin
最近我更新了我的Android Studio 2.2.3 to 2.3.0项目在2.2.3中正常运行,但更新项目依赖类路径后,从2.2.3 to 2.3.0 更多的Missing Translations错误string.xml.
任何人都可以告诉我它为什么会发生以及如何解决这些错误?
van*_*loc 44
有很多方法可以解决这个问题:
第一种方法:
添加到build.gradle:
android {
lintOptions {
disable 'MissingTranslation'
}
}
Run Code Online (Sandbox Code Playgroud)
第二种方法:
它是字符串文件中命名空间的ignore属性tools,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingTranslation" >
<!-- your strings here; no need now for the translatable attribute -->
</resources>
Run Code Online (Sandbox Code Playgroud)
第三种方法:
在你ADT去window->Preferences->Android->Lint Error Checking
发现那里Missing Translation并改变其Severity对Warning.
参考链接:
http://www.fasteque.com/missingtranslation-issue-for-release-builds/
希望对你有所帮助.
jer*_*rry 12
我面临着同样的问题.根据我的观察,这个问题是在Gradle插件版本2.3.0中引入的.当项目中有一个模块支持比您的应用程序或其他模块更多的语言时,就会发生这种情况.您可以开始编辑此类模块的翻译,但这会降低其可维护性.
如果您使用此处的任何建议或类似问题禁用Lint检查,您也会忽略应用中的实际翻译错误,其中您支持的语言缺少翻译.在此之后你需要非常小心地保持你的字符串.
还有一个,也是次优的选项:将插件版本更改回最后一个不在build.gradle中显示这些症状的版本.
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
}
Run Code Online (Sandbox Code Playgroud)
然而,有一种方法可以在不丢失重要警告/错误的情况下完成这项工作,而无需恢复旧的工具版本.您可以在Google的文档中找到它,也可以在此答案中找到它.
android {
defaultConfig {
...
resConfigs "en", "fr"
}
}
Run Code Online (Sandbox Code Playgroud)
这将删除不需要的资源以及警告和错误.我已经更新了我的代码,现在它构建得很好.
新的Gradle插件版本引入了另一个问题:如果您得到误报,即错误抱怨您已标记为不可翻译的字符串缺少翻译,请检查字符串名称是否存在于另一个模块中.在这种情况下,重命名或提供翻译,错误消失.
| 归档时间: |
|
| 查看次数: |
10507 次 |
| 最近记录: |