12

我按照教程https://developers.google.com/cloud-messaging/android/client。它的工作原理 - 我可以發送和接收通知。Lint抱怨未翻譯gcm_defaultSenderId字符串

但是當我嘗試建立版本的應用程序,Android的皮棉抱怨:

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

所以我可以禁用構建失敗時,林特與此抱怨在build.gradle

lintOptions{ 
    abortOnError false 
} 

但顯然這不是一個辦法。硬編碼senderId在我的應用程序也不是好主意(我們有效gcm_defaultSenderId無論如何在google-services.json所以加倍它是在未來的問題)。

有沒有辦法解決Google Play服務開發者的這個明顯疏漏?


編輯2015年12月2日 OMG!今天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 Services依賴版本,看看我給出的answer瞭解詳情。


編輯我給的解決方案是不足以解決問題。我認爲這是可以的,因爲我正在開發一款多功能應用程序,而且由於我仍在調查的原因,Google服務gradle插件僅生成主菜單以外的gcm_defaultSenderId字符串。

根據這一link

這個問題應該固定8.3.0谷歌播放服務和1.5.0-β2依賴。

但實際上,雖然gcm_defaultSenderId字符串現在可以正確生成(與translatable="false"屬性),google_app_idga_trackingID字符串不是。

TL; DR我來,我們必須等待谷歌的傢伙通過嚮應用級build.gradle文件解決這個問題,而忽略在此期間的錯誤

... 
android { 
    lintOptions { 
     abortOnError false 
    } 
} 
... 
+0

它有點重複。但請參閱我的問題「免責聲明:這不是由於GCM SenderId Android無法生成APK發佈版本 - 我接受的答案不可接受。」最初的問題擁有者接受了最可笑的答案,因此我不得不另闢蹊徑來收集其他有希望的答案。請更新您的問題,確切說明需要完成的工作,並檢查是否有幫助。 –

+0

反正它沒有幫助。 –

+0

對不起,我沒有解釋清楚,我同意你的看法,即接受的答案不是解決問題的最佳實踐,甚至在我看來也不推薦,因爲這只是一種避開實際問題的解決方法。實際上,在我回答後的第二天,我遇到了一些與第一個相關的其他問題,其他生成的字符串給我帶來了問題(儘管「gcm_defaultSenderId」不在其中,因爲在更新之後它會生成「可翻譯」屬性設置爲false)。我目前正在調查我能做些什麼來解決這些其他問題,我會在發現時更新。 – Ultimecia

0

試試這個結論

android { 
lintOptions { 
    disable 'MissingTranslation' 
} 

}