12

Ho seguito il tutorial https://developers.google.com/cloud-messaging/android/client. Funziona - Sono in grado di inviare e ricevere notifiche.Lint si lamenta di non tradotto gcm_defaultSenderId stringa

Ma quando provo a costruire rilascio app, Android Lint si lamenta:

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

così posso disabilitare costruzione in mancanza quando Lint lamenta con questo in build.gradle:

lintOptions{ 
    abortOnError false 
} 

Ma ovviamente questo non è una soluzione. Hardcoding senderId nella mia app non è neanche una buona idea (abbiamo lo gcm_defaultSenderId valido nello google-services.json quindi il raddoppio sta chiedendo problemi in futuro).

C'è qualche modo per aggirare questa ovvia svista dagli sviluppatori di Google Play Services?


EDIT 2 dicembre 2015 OMG! Oggi goallallt google ha iniziato a fare qualcosa su questo problema, see here.


Esonero di responsabilità: questo non è un duplicato di Can't generate APK Release because of GCM SenderId Android - la risposta accettata non è accettabile per me.

+0

Questo problema è stato affrontato a Google, ancora nessuna risposta, se ho uno vi posterò qui. –

risposta

2

Penso che questa domanda sia effettivamente duplicata di Can't generate APK Release because of GCM SenderId Android anche se sono d'accordo con la tua opinione sulla risposta accettata.

La soluzione è molto più semplice, non vi resta che aggiornamento Google Services versione dipendenza, date un'occhiata al answer ho dato lì per i dettagli.


EDIT La soluzione che ho dato non è sufficiente per risolvere il problema. Ho pensato che fosse OK perché sto lavorando a un'app multiflavor e, per motivi che sto ancora indagando, il plug-in gradle di Google Services genera solo la stringa in sapori diversi da quello principale.

Secondo questa link,

Questo problema dovrebbe essere risolto con 8.3.0 Google Play Services e la dipendenza 1.5.0-beta2.

Ma in realtà, mentre la stringa gcm_defaultSenderId è ormai generato correttamente (con l'attributo translatable="false"), google_app_id e ga_trackingID corde non sono.

TL; DR sono giunto alla conclusione che dobbiamo aspettare per Google ragazzi per risolvere questo problema e ignorare l'errore, nel frattempo, con l'aggiunta al livello di applicazione build.gradle file di

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

Si tratta di un duplicato. Ma per favore vedi la mia domanda "Disclaimer: questo non è un duplicato di Can not generare APK Release a causa di GCM SenderId Android - la risposta accettata non è accettabile per me." Il proprietario della domanda originale ha accettato la risposta più ridicola possibile, quindi ho dovuto creare un'altra domanda per raccogliere altre risposte, si spera corrette. Si prega di aggiornare la tua domanda per dichiarare in realtà ciò che deve essere fatto e controllerò se aiuta. –

+0

Ad ogni modo non è stato d'aiuto. –

+0

Mi dispiace non aver spiegato bene, sono d'accordo con te nel fatto che la risposta accettata non è la migliore pratica per risolvere il problema, anche se non è consigliabile a mio avviso perché è solo una soluzione che aggira il vero problema. In realtà, il giorno dopo la mia risposta ho avuto altri problemi relativi al primo, altre stringhe generate mi danno problemi (anche se "gcm_defaultSenderId" non è tra questi perché dopo l'aggiornamento è generato con la proprietà "traducibile" impostata su false). Attualmente sto studiando cosa posso fare per risolvere questi altri problemi, aggiornerò quando lo scoprirò. – Ultimecia

0

Prova questo

android { 
lintOptions { 
    disable 'MissingTranslation' 
} 

}

Problemi correlati