Lint抱怨没有翻译gcm_defaultSenderId字符串

时间:2015-09-17 07:06:30

标签: android google-cloud-messaging google-play-services release android-lint

我已经按照教程https://developers.google.com/cloud-messaging/android/client进行了操作。它有效 - 我能够发送和接收通知。

但是当我尝试构建发布应用时,Android Lint抱怨:

Error: "gcm_defaultSenderId" is not translated in ...

因此,当Lint在build.gradle

中抱怨时,我可以禁用构建失败
lintOptions{
    abortOnError false
}

但显然这不是解决方案。我的应用中的硬编码senderId也不是一个好主意(我们在gcm_defaultSenderId无论如何都有效google-services.json,因此将来要求问题加倍。

Google Play服务开发人员明显忽略了这一点吗?

2015年12月2日编辑 我的天啊!今天google actuallt开始在这个问题上做点什么,see here

免责声明:这不是Can't generate APK Release because of GCM SenderId Android的重复 - 我接受的答案是不可接受的。

2 个答案:

答案 0 :(得分:2)

我认为这个问题实际上与Can't generate APK Release because of GCM SenderId Android重复,即使我同意你对接受答案的看法。

解决方案要简单得多,你只需要更新Google服务依赖版本,看看我在那里提供的answer详细信息。

编辑我提供的解决方案不足以解决问题。我认为这很好,因为我正在开发一个multiflavor应用程序,并且由于我仍在调查的原因,Google Services gradle插件仅生成除主要字符之外的gcm_defaultSenderId字符串。

根据此link

  

这个问题应该通过8.3.0 Google Play服务和1.5.0-beta2依赖来解决。

但实际上,虽然gcm_defaultSenderId字符串现在已正确生成(translatable="false"属性),但google_app_idga_trackingID字符串不是。

TL; DR 我得出的结论是,我们必须等待Google员工解决此问题并在此期间通过添加到应用级别build.gradle文件来忽略错误/ p>

...
android {
    lintOptions {
        abortOnError false
    }
}
...

答案 1 :(得分:0)

试试这个

android {
 lintOptions {
    disable 'MissingTranslation'
}

}