2013-08-08 20 views

Antwort

4

Es sind Geräte ohne Google-Dienste installiert. In diesem Fall ist die Google API nicht verfügbar. Wenn Sie das Google API SDK nicht verwenden, kann Ihre App weiterhin auf diesen Geräten ausgeführt werden.

z. Betrachten Sie das Kindle Fire, es hat nicht den Play Store installiert, sowie verschiedene Low-Budget-Tablets und chinesische Telefone. Bei benutzerdefinierten Builds aus dem Open-Source-Code wie Cyanogenmod sind die Google-Apps ebenfalls nicht installiert (obwohl viele Benutzer sie manuell hinzufügen).

Obwohl Android selbst Open Source ist, verlangen die Google-Apps, dass der Anbieter eine Lizenz von Google erhält. Ich weiß das, weil benutzerdefinierte Builds von Google gebeten wurden, ihre Apps nicht einzubinden. Außerdem ist es für einige Hersteller attraktiv, anstelle des Play Stores einen eigenen Store zu haben, denn dann erhalten sie einen Teil des Umsatzes, anstatt Google den gesamten Gewinn zu überlassen. Aus diesem Grund haben nicht alle Geräte sie.

+0

Ja, Kindle Fire kann ein guter Grund sein! Andererseits habe ich noch nie einen umgekehrten Ratschlag wie "benutze Google API die ganze Zeit, aber pass auf XY-Situationen auf, wenn du es nicht benutzen kannst". Selbst das Google-Entwicklerteam rät davon ab, das Google API SDK häufiger als das normale zu verwenden. – sandalone

+2

Ich denke, ein weiterer Faktor könnte sein, dass es wahrscheinlich etwas Aufblähung zu Ihrer Binärdatei hinzufügt, die vermieden werden kann, wenn Sie es nicht verwenden. –

+0

Gute Beobachtung auf Geräten ohne Google Apps. Ich wusste nicht über die Lizenz, aber andererseits ist es so logisch :). Auch habe ich noch nie billige chinesische Geräte ohne Play Store App gesehen. Vielleicht habe ich die Geräte der unteren Ebene bisher nicht benutzt. – sandalone

1

Ein möglicher Grund ist dieser: warum sollten Sie etwas einschließen, wenn Sie es nicht verwenden? Wenn Sie eine neue Klasse schreiben, tun Sie import das gesamte Android-Framework? Nein, das würdest du nicht tun, weil es im schlimmsten Fall zu Problemen in deinem Code führen kann und selbst im besten Fall zusätzlichen Platz in deinem APK benötigt.

Ich bin mir nicht sicher, wie viel Speicherplatz durch die Erstellung Ihrer App mit dem Google API SDK in Speicher/Speicher aufgewendet wird, aber ich kann mir nicht vorstellen, dass es 0 ist, und in der mobilen Entwicklung können Sie es sich nicht leisten nicht mit Ressourcennutzung vernünftig sein.

+1

Ich denke, die Optimierung Ihrer Binärdatei mit Proguard sollte die meisten Bedenken in dieser Hinsicht jedoch lindern. –

+1

Es kann Probleme bei der Ressourcennutzung verringern, verschlechtert jedoch das Komplexitätsproblem nur noch weiter. Es ist eine andere Sache, die (theoretisch) brechen könnte, zusätzlich zu der Sache, die Sie hinzugefügt haben, die auch brechen könnte, und Ihnen keinen Vorteil brachte. – sigmabeta

Verwandte Themen