Generating signed apk. Error:(7) [MissingTranslation] in build/generated/res/generated/release/values/generated.xml

Generating signed apk. Error:(7) [MissingTranslation] in build/generated/res/generated/release/values/generated.xml

问题很奇怪。我试图直接在 build.gradle 中添加一个字符串,因为我需要它来使用托盘库 (https://github.com/grandcentrix/tray)。在我的第一个项目中,一切都很顺利。在第二个项目中,它有点复杂。我正在使用 gradle:1.2.3 并且在导出已签名的 apk 时出现 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),但我不知道如何解决它。我找到的所有答案都不起作用。

在 Android Studio 中,转到 Settings/Inspections/Android lint,在搜索框中键入 "missingtranslation",然后 select "info" 而不是 "error" 在右下方。或者完全取消勾选。

好吧,我解决了这个问题。不得不说,错误莫名其妙。以前没有出现过,只有最新的gradle版本有问题。我发现生成签名的 apk 会忽略我们的检查设置 (Android Studio),并且不可能生成生产版本。

在合适的地方忽略它!这里:build.gradle

android {
    // defaultConfig, buildTypes, etc.

    lintOptions {
        disable 'MissingTranslation'
    }
}

使用该解决方案时应注意所有缺失的翻译都将被忽略,因此我建议对其进行评论,仔细检查缺失的内容,最后在一切正常时取消注释;)

我希望它对某人有所帮助。很烦人的事情。