生成已签名的apk。错误:(7)build/generated/res/generated/release/values/generated.xml中的[MissingTranslation]
问题描述:
问题很奇怪。我试图直接在build.gradle
中添加一个字符串,因为我需要它使用托盘库(https://github.com/grandcentrix/tray)。在我的第一个项目中一切都很顺利。在第二个项目中,它有点复杂。我正在使用gradle:1.2.3
,而导出已签名的apk时会出现MissingTranslation错误。生成已签名的apk。错误:(7)build/generated/res/generated/release/values/generated.xml中的[MissingTranslation]
的build.gradle
applicationId "some.app.id"
resValue "string", "tray__authority", "${applicationId}.tray"
生成错误
.../build/generated/res/generated/release/values/generated.xml
Error:(7) Error: "tray__authority" is not translated in "pl" (Polish) [MissingTranslation]
<string name="tray__authority">some.app.id.tray</string>
generated.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Automatically generated file. DO NOT MODIFY -->
<!-- Values from default config. -->
<string name="tray__authority">some.app.id.tray</string>
</resources>
有一些类似的问题,但所有的人都来的strings.xml和相关建议去
<resources
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingTranslation">
或只是translatable="false"
,因为该文件是自动生成的,我不能做到这一点。我如何强迫gradle忽略错误?我试图改变检测设置并将其设为警告,但是gradle忽略了我的设置。
我知道这是一个错误(https://code.google.com/p/android/issues/detail?id=152198),但我不知道如何解决它。我发现的所有答案都不起作用。
答
嗯,我解决了这个问题。不得不说这个错误很奇怪。它从来没有出现过,只有最新的gradle版本有问题。我发现生成签名的apk会忽略我们的检测设置(Android Studio),并且无法生成产品发布。
只要忽略它在正确的地方!在这里:build.gradle
android {
// defaultConfig, buildTypes, etc.
lintOptions {
disable 'MissingTranslation'
}
}
该解决方案应该与所有丢失的翻译只会被忽略,所以我建议评论它的意识被使用,仔细检查缺什么,并最终取消它时,一切都按预期;)
我希望它能帮助别人。非常烦人的事情。
这是一个lint错误,它会阻止您在不应该创建应用程序的情况下,如果您选择不支持波兰语中的某些字符串。您可以在Android Studio或Eclipse中禁用单独的lint检查,将此检查设置为“忽略”,并且不会发生抱怨。 – Christine
但是最新的gradle忽略了这个设置:(我正在谈论的是通过gradlew – koras