生成签名的apk。错误:(7)build / generated / res / generated / release / values / generated.xml中的[MissingTranslation]

时间:2015-07-10 21:11:34

标签: android apk android-gradle android-build

问题很奇怪。我试图在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),但我不知道如何解决它。我找到的所有答案都不起作用。

2 个答案:

答案 0 :(得分:10)

好吧,我解决了这个问题。必须要说的是,这个错误很奇怪。它从未出现过,只有最新的gradle版本才有问题。我发现生成签名的apk会忽略我们的检查设置(Android Studio),并且无法生成生产版本。

在正确的地方忽略它!这里:build.gradle

android {
    // defaultConfig, buildTypes, etc.

    lintOptions {
        disable 'MissingTranslation'
    }
}

应该使用解决方案,意识到所有缺失的翻译都将被忽略,所以我建议对其进行评论,仔细检查缺少的内容,最后在所有内容完成后取消注释;)

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

答案 1 :(得分:1)

在Android Studio中,转到设置/检查/ Android lint,在搜索框中键入“missingtranslation”,然后在右下角选择“info”而不是“error”。或完全取消选中。