Google Play unterstützt „CPU Architecture“ als Filter für mehrere APKs

Anfang September führte Google Änderungen ein, die die Download-Größe für jedes Gerät verringern können, wobei im Google Market eine einzige Anwendung mit zugehörigen Daten bestehen bleibt. Die Google Play Developers Console unterstützt jetzt „CPU Architecture (ABI)“ als Filterkriterium für mehrere APKs. Für Entwickler, die derzeit entweder separate Anwendungen für jede Architektur haben oder die native x86-Unterstützung hinausgeschoben haben, um große APK-Downloads zu vermeiden, wird diese neue Funktion äußerst interessant sein.

Viele Geräte unterstützen mehrere ABIs, beispielsweise ARMv7 und auch ARMv5TE. Viele x86-ABI-Geräte können zudem ARMv7- und ARMv5TE-Binaries ausführen. Entwickler sollten die Versionscodes so sortieren, dass auf jedem Gerät die Binary mit der jeweils besten Leistung ausgeführt wird. Beispiel: Sortieren Sie die Versionscodes so, dass das x86-APK den höchsten Versionscode hat, gefolgt von ARMv7 und dann ARMv5TE. In diesem Fall werden x86-Binaries für x86-Geräte und ARMv7-Binaries für ARMv7-Geräte bevorzugt.

Intel empfiehlt einen Versionscode mit mindestens 8 Stellen. Ganzzahlen für die unterstützten Konfigurationen sind in den höherrangigen Bits enkodiert und der Versionsname (von android:versionName) in den niederrangigen Bits. Beispiel: Wenn der Versionsname der Anwendung 3.1.0 lautet, wäre 21100310 der empfohlene Versionscode für ARMv7 (ABI) und API-Ebene 11 APK. Ein weiteres Beispiel: Wenn der Versionsname der Anwendung 3.1.0 lautet, wäre 61100310 der Versionscode für X86 und API-Ebene 11 APK. Die erste Ziffer steht für die unterstützte ABI, die zweite und dritte Ziffer sind für die API-Ebene reserviert, die vierte und fünfte Ziffer stehen entweder für Bildschirmgrößen oder GL-Texturformate (in diesen Beispielen nicht verwendet) und die letzten drei Ziffern repräsentieren die Versionsnummer der Anwendung (3.1.0). Abbildung 1 zeigt zwei Beispiele, bei denen sich nur die ABI unterscheidet. Plattformversion (API-Ebene), Bildschirmgröße und Anwendungsversion sind identisch.

 

ABI-Schlüssel: 6 – x86,   2 – ARMv7,   1 – ARMv5

Abb. 1.  Vorschlag für den Aufbau der Versionscodes. Erste Ziffer für ABI, zweite und dritte Ziffer für API-Ebene, vierte und fünfte Ziffer für minimale und maximale Bildschirmgröße (1 – 4 bezeichnet die vier Größen) oder zur Angabe der Texturformate und die letzten 3 Ziffern für die Anwendungsversion.

Wenn der Versionscode für Anwendungen mit großen nativen Bibliotheken so aufgebaut ist, wird die Download-Größen für jedes Gerät reduziert und eine optimale Ausführung auf x86- und ARM-Plattformen sichergestellt.

Um diese neue Funktion zu nutzen, müssen Entwickler in der Google Play Android Developer Console den Advanced Mode aktivieren. So können mehrere APKs für eine einzelne Anwendung aktiv sein. Genaue Anleitungen und weitere Informationen zur Unterstützung für mehrere APKs finden Sie auf der Google-Website in der Dokumentation „Developer Publishing“. http://developer.android.com/guide/google/play/publishing/multiple-apks.html

 

Hinweise

DIE INFORMATIONEN IN DIESEM DOKUMENT WERDEN IM ZUSAMMENHANG MIT INTEL PRODUKTEN BEREITGESTELLT. DURCH DIESES DOKUMENT WERDEN WEDER AUSDRÜCKLICH NOCH KONKLUDENT ODER AUF ANDERE WEISE IRGENDWELCHE RECHTE AUF GEISTIGES EIGENTUM GEWÄHRT. INTEL ÜBERNIMMT KEINERLEI VERANTWORTUNG IM HINBLICK AUF DEN VERKAUF ODER DIE VERWENDUNG VON INTEL-PRODUKTEN, EINSCHLIESSLICH HAFTUNGEN ODER GARANTIEN, DIE EINE EIGNUNG FÜR DEN HANDEL ODER EINEN BESTIMMTEN ZWECK ODER DIE VERLETZUNG EINES PATENTS, URHEBERRECHTS ODER SONSTIGEN RECHTS AUF GEISTIGES EIGENTUM BETREFFEN, AUSSER WIE IN DEN ALLGEMEINEN GESCHÄFTSBEDINGUNGEN VON INTEL FÜR DEN VERKAUF SOLCHER PRODUKTE VORGESEHEN.

SOFERN NICHT ANDERWEITIG MIT INTEL SCHRIFTLICH VEREINBART, SIND INTEL PRODUKTE NICHT FÜR ANWENDUNGEN ENTWICKELT ODER VORGESEHEN, BEI DENEN AUFGRUND EINES FEHLERS DES BETREFFENDEN INTEL PRODUKTS VERLETZUNGEN ODER TODESFÄLLE AUFTRETEN KÖNNEN.

Intel behält sich das Recht vor, Spezifikationen und Produktbeschreibungen jederzeit ohne vorherige Ankündigung zu ändern. Entwickler dürfen nicht vom Vorhandensein oder Nichtvorhandensein bestimmter Funktionsmerkmale oder Produkteigenschaften, die als „reserved“ oder als „undefined“ gekennzeichnet sind, ausgehen. Intel behält sich eine künftige Definition derselben vor und lehnt jegliche Haftung hinsichtlich Inkompatibilität bzw. anderer Konflikte, die sich aus künftigen Änderungen dieser Merkmale ergeben, ab. Die hier angegebene Information kann sich jederzeit ohne besondere Mitteilung ändern. Nutzen Sie diese Angaben nicht für die Fertigstellung von Designs.

Die in diesem Dokument beschriebenen Produkte können konstruktionsbedingte Defekte oder Fehler (Errata) enthalten, die zu Abweichungen der Produkteigenschaften von den angegebenen Spezifikationen führen. Eine Liste derzeit bekannter Errata ist auf Anfrage verfügbar.

Wenden Sie sich an Ihr zuständiges Intel Vertriebsbüro oder an Ihren Distributor, um die neuesten Spezifikationen zu erhalten, bevor Sie Produkte bestellen.

Dokumente, die eine Bestellnummer haben und auf die in diesem Dokument Bezug genommen wird bzw. weitere Literatur von Intel erhalten Sie im Internet unter http://www.intel.com/design/literature.htm.

In Leistungstests verwendete Software und Workloads können speziell für die Leistungseigenschaften von Intel® Mikroprozessoren optimiert worden sein. Leistungstests, wie SYSmark und MobileMark, werden mit spezifischen Computersystemen, Komponenten, Softwareprogrammen, Operationen und Funktionen durchgeführt. Jede Veränderung bei einem dieser Faktoren kann andere Ergebnisse zur Folge haben. Als Unterstützung für eine umfassende Bewertung Ihrer vorgesehenen Anschaffung, auch im Hinblick auf die Leistung des betreffenden Produkts in Verbindung mit anderen Produkten, sollten Sie noch andere Informationen und Leistungstests heranziehen.

Jeder in diesem Dokument nachgedruckte Quellcode wird unter einer Softwarelizenz bereitgestellt und darf nur unter Beachtung der Bestimmungen dieser Lizenz genutzt oder kopiert werden.

Intel und das Intel Logo sind Marken der Intel Corporation in den USA und/oder anderen Ländern.

Copyright © 2012 Intel Corporation. Alle Rechte vorbehalten.

*Andere Marken oder Produktnamen sind Eigentum der jeweiligen Inhaber.

 

 

Einzelheiten zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.