Kann keine APK-Freigabe wegen GCM SenderId Android generieren

8

Ich habe GCM (Google Cloud Messaging) in meiner App implementiert. Die Google Play Services-Bibliothek hat values.xml automatisch generiert, in der mein senderId ist:

%Vor%

Das Problem ist, dass ich ein anderes Gebietsschema habe und Lint während der App-Freigabe mir einen Fehler gibt: Error:(3) Error: "gcm_defaultSenderId" is not translated in "fr" (French) [MissingTranslation]

Weil es automatisch generiert wird, kann ich translable = false nicht setzen. Wie sollte ich das beheben?

    
filipp.kowalski 04.09.2015, 16:43
quelle

5 Antworten

6

Ich nehme an, dass Sie Android Studio verwenden.

Hatte genau das gleiche Problem mit Android Studio 1.4.

Als erstes habe ich versucht, die Einstellung "Datei - Einstellungen - Editor - Inspektionen - Android Lint - Unvollständige Übersetzung" auf etwas anderes als "Fehler" zu setzen.

Das hat nicht geholfen! Ich konnte immer noch keine Release-APK erstellen.

Ich habe das XML wie folgt "übersetzt":

  1. Erstellen Sie im Ordner ... / android / res einen neuen Sprachordner values-de (ersetzen Sie de durch Ihren Sprachcode).

  2. Erstellen Sie im Sprachenordner eine Datei namens google-services.xml.

  3. Fügen Sie in die XML-Datei ein:

    %Vor%

    Danach konnte ich das Release erstellen.

Andre Kreienbring 02.10.2015, 10:51
quelle
15

Fügen Sie eine lint.xml -Datei in Ihrem Projektanwendungsstamm (unter app /) hinzu und fügen Sie die fehlenden Übersetzungen hinzu, die dort ignoriert werden sollen:

%Vor%

Diese werden jetzt von lint ignoriert - Sie können konfigurieren, welche Eigenschaften ignoriert werden sollen, und Sie müssen nicht auf Updates vom google-services Team für Eigenschaften warten, an die sie nicht gedacht haben.

Lint-in wird weiterhin alle anderen Fehler erfassen, sodass Sie die anderen Funktionen weiterhin genießen können.

    
MatsLindh 29.01.2016 21:34
quelle
3

Seit dem letzten Update von Android Studio (1.5) hatte ich dieses Problem auch. Ich habe es gelöst, indem ich die Google Services-Abhängigkeiten zur neuesten Version .

Nach diesem Link , tatsächlich,

  

Dieses Problem sollte mit der Abhängigkeit von Google Play Services und 1.5.0-beta2 behoben werden.

Hoffe, das hilft! :)

BEARBEITEN Integration: Während die Zeichenfolge gcm_defaultSenderId jetzt korrekt generiert wird (mit translatable="false" -Attribut), sind z. B. google_app_id und ga_trackingID Zeichenfolgen nicht.

Für diejenigen, die immer noch Probleme haben, bin ich zu dem Schluss gekommen, dass wir auf Google-Leute warten müssen, um dieses Problem zu beheben und den Fehler in der Zwischenzeit zu ignorieren, indem wir der App-Ebene build.gradle file

hinzufügen %Vor%     
Ultimecia 27.11.2015 14:54
quelle
0

Sie werden wahrscheinlich ein weiteres bisschen automatisch erzeugten Code wie folgt haben:

%Vor%

Erhalten Sie eine gültige Absender-ID aus der Google Cloud-Konsole, dann können Sie die R.string.gcm_defaultSenderId aus dem obigen Code und auch die gcm_defaultSenderId aus der Ressourcendatei entfernen.

    
e4c5 05.09.2015 04:34
quelle
0

Wenn Sie auf eine neuere Version von:

upgraden möchten / müssen
  • lint (androidstudio mit eingebautem Flusen)
  • Build-Tools
  • compileSdkVersion
  • Gradle Plugin
  • Gradle
  • google-services (plugin)
  • google-services dedenciens (z. B. play-services-gcm)
  • (leider) andere Abhängigkeiten, wenn transitiv von Google-Diensten abhängig sind

Sie müssen wiselly Versionen all dieser Teile zusammen wählen. Da diese alle zusammen kompatibel sein müssen. Leider gibt es keine Kompatibilitätstabelle (die einzige, die ich gefunden habe, ist mehr ein Jahr alt, also verlinke ich es hier nicht. Wenn jemand einen Link kennt).

Also, Lösung ist zu untersuchen, welche Verstion welcher Teil alles andere blockiert. Was ein Alptraum sein könnte, so ist es eine gute Idee, zu der letzten bekannten funktionalen Konfiguration zurückzukehren. Aber früher oder später werden wir gezwungen sein, ein Upgrade durchzuführen.

Ich habe die Startseite jedes Teils überprüft, um Versionsinformationen zu finden, aber letztendlich löse ich es immer noch mit der Test-und-Versuch-Methode.

Hier ist, was für mich funktional ist:

  • androidstudio 1.5
  • Build-Tools 23.0.2
  • compileSdkVersion 23
  • Gradle Plugin 1.5.0
  • grandle 2.8
  • Google-Dienste plugin 1.5.0
  • Google Services-Abhängigkeiten 8.3.0
  • Glücklicherweise keine anderen externen GS-Abhängigkeiten (offensichtlich müssen alle internen Module dieselbe Version verwenden)
Wooff 14.01.2016 13:32
quelle