12

Podążyłem za tutorialem https://developers.google.com/cloud-messaging/android/client. Działa - mogę wysyłać i odbierać powiadomienia.Lint narzeka na nie przetłumaczony łańcuch gcm_defaultSenderId

Ale gdy próbuję zbudować aplikację zwalniający, Android Lint narzeka:

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

Więc mogę wyłączyć build braku kiedy Lint narzeka z tego w build.gradle:

lintOptions{ 
    abortOnError false 
} 

Ale oczywiście nie jest to rozwiązanie. Hardcoding senderId w mojej aplikacji również nie jest dobrym pomysłem (w każdym razie mamy poprawną, więc podwojenie to powoduje problemy w przyszłości).

Czy jest jakiś sposób obejścia tego oczywistego niedopatrzenia ze strony twórców Usług Google Play?


EDIT 02 grudnia 2015 OMG! Dziś google ruszył coś z tym problemem, see here.


Uwaga: to nie jest duplikatem Can't generate APK Release because of GCM SenderId Android - zaakceptowanych odpowiedź jest nie do przyjęcia dla mnie.

+0

kwestia ta została skierowana do Google, nadal nie ma odpowiedzi, jeśli mogę dostać jeden będę je zamieszczać tutaj. –

Odpowiedz

2

Myślę, że to pytanie jest w istocie duplikatem Can't generate APK Release because of GCM SenderId Android, nawet jeśli zgadzam się z opinią o zaakceptowanej odpowiedzi.

Rozwiązaniem jest znacznie prostsze, wystarczy Google Update Services wersji zależności, spojrzeć na answer dałem tam szczegóły.


EDIT Rozwiązanie dałem nie jest wystarczający, aby rozwiązać ten problem. Pomyślałem, że to w porządku, ponieważ pracuję nad aplikacją dla wielu języków i z powodów, które wciąż badam, wtyczka gradle usług Google generuje tylko ciąg znaków gcm_defaultSenderId w smakach innych niż główny.

Według tego link,

Kwestia ta powinna być ustalona z 8.3.0 Usługi Google Play i zależność 1.5.0-beta2.

Ale faktycznie, natomiast ciąg gcm_defaultSenderId jest teraz generowane prawidłowo (z atrybutem translatable="false") google_app_id i ga_trackingID struny nie są.

TL; DR doszedłem do wniosku, że musimy czekać na Google faceci, aby rozwiązać ten problem i zignorować błąd w międzyczasie dodając do poziomu aplikacji build.gradle plik

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

To trochę jest duplikatem. Ale zobacz moje pytanie "Zrzeczenie się: nie jest to duplikat Nie można wygenerować wersji APK z powodu GCM SenderId Android - zaakceptowana odpowiedź jest dla mnie nie do przyjęcia." Pierwotny właściciel pytania zaakceptował najbardziej absurdalną odpowiedź, więc musiałem stworzyć kolejne pytanie, by zebrać inne, miejmy nadzieję, poprawne odpowiedzi. Proszę zaktualizować swoje pytanie, aby faktycznie stwierdzić, co należy zrobić, a ja sprawdzę, czy to pomaga. –

+0

W każdym razie to nie pomogło. –

+0

Przykro mi, że nie wyjaśniłem dobrze, zgadzam się z tobą, że przyjęta odpowiedź nie jest najlepszą praktyką rozwiązania problemu, nawet nie jest zalecana, ponieważ jest to tylko obejście, które omija prawdziwy problem. Właściwie, dzień po mojej odpowiedzi miałem inne problemy związane z pierwszymi, innymi wygenerowanymi ciągami, dając mi problemy (chociaż "gcm_defaultSenderId" nie jest wśród nich, ponieważ po aktualizacji jest generowany z ustawioną właściwością "tłumaczącą" na false). Obecnie badam, co mogę zrobić, aby rozwiązać te inne problemy, zaktualizuję je, kiedy się dowiem. – Ultimecia

0

Wypróbuj

android { 
lintOptions { 
    disable 'MissingTranslation' 
} 

}