生成已签名的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),但我不知道如何解决它。我发现的所有答案都不起作用。

+0

这是一个lint错误,它会阻止您在不应该创建应用程序的情况下,如果您选择不支持波兰语中的某些字符串。您可以在Android Studio或Eclipse中禁用单独的lint检查,将此检查设置为“忽略”,并且不会发生抱怨。 – Christine

+0

但是最新的gradle忽略了这个设置:(我正在谈论的是通过gradlew – koras

嗯,我解决了这个问题。不得不说这个错误很奇怪。它从来没有出现过,只有最新的gradle版本有问题。我发现生成签名的apk会忽略我们的检测设置(Android Studio),并且无法生成产品发布。

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

android { 
    // defaultConfig, buildTypes, etc. 

    lintOptions { 
     disable 'MissingTranslation' 
    } 
} 

该解决方案应该与所有丢失的翻译只会被忽略,所以我建议评论它的意识被使用,仔细检查缺什么,并最终取消它时,一切都按预期;)

我希望它能帮助别人。非常烦人的事情。

+0

当minifyEnabled true时这不起作用 – VVB

+0

这很奇怪,我在我的所有应用程序中都使用minify,并且一切正常,尝试升级gradle(在你的build配置中指定最新版本,例如1.5)。 – koras

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

+0

构建一个生产版本,但是我认为这个。但是gradle build(release)似乎忽略了它,应用程序仍然没有生成。我试图完全禁用它 – koras

+0

即使禁用该值也会被gradle忽略lol ...在某处有一个bug以前的gradle版本甚至不需要改变某些东西来忽略来自build.gradle的字符串 – koras

+0

试过但没有工作 – VVB