Eine (ziemlich grobe) Möglichkeit, um zu sehen, für welche Architektur die nativen Bibliotheken eines APK erstellt wurden, besteht darin, sie zu entpacken (es ist nur eine Zip-Datei) und einen Blick auf den Ordner libs zu werfen. Wenn die Anwendung native Bibliotheken enthält, werden diese aufgeteilt die folgenden Unterordner (mit den kompilierten Bibliotheken darin):
Siehe Applikation für Android - Paket für weitere Informationen zu einer Aufbau der APK, und die Quelle der obigen Liste. Eine vollständigere Liste (einschließlich MIPS64) sowie einige Informationen zu architekturspezifischen Dingen finden Sie in einer archivierten Version der ABI-Verwaltungsseite für Android-Entwickler , die am 18. April 2016 erfasst wurde.
Interessanterweise bedeutet das Targeting eines einzelnen ABI (wobei eine App native Bibliotheken enthält, die für eine Architektur entwickelt wurden) nicht unbedingt, dass die App nicht auf Geräten ausgeführt wird, die andere Architekturen verwenden. ARMv8-a ist beispielsweise abwärtskompatibel mit ARM und ARMv7-a, und Intels x86-Android-Geräte enthalten eine proprietäre Übersetzungsschicht , mit der ARM-Code auf x86-Geräten ausgeführt werden kann (sodass nur ARM-Apps auf x86-Plattformen ausgeführt werden können). Eine Liste der ABIs, die ein Android-Gerät ausführen kann, finden Sie in der ro.product.cpu.abilist
Eigenschaft, die in einer Shell (z. B. über eine Terminal-App auf dem Gerät oder über ADB mit adb shell
) mit dem folgenden getprop
Befehl abgerufen werden kann : getprop ro.product.cpu.abilist
.