我已经按照教程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的重复 - 我接受的答案是不可接受的。
答案 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_id
和ga_trackingID
字符串不是。
TL; DR 我得出的结论是,我们必须等待Google员工解决此问题并在此期间通过添加到应用级别build.gradle
文件来忽略错误/ p>
...
android {
lintOptions {
abortOnError false
}
}
...
答案 1 :(得分:0)
试试这个
android {
lintOptions {
disable 'MissingTranslation'
}
}