Bei Google Play veröffentlichte Apps müssen 64-Bit-Architekturen 64-Bit-Version Ihrer App hinzufügen bietet Leistungsverbesserungen und ermöglicht die Einrichtung von Geräten mit 64-Bit- Hardware.
Mit den folgenden Schritten kannst du sicherstellen, dass deine 32-Bit-App 64-Bit-Geräte unterstützt.
App bewerten
Wenn Ihre App nur Code verwendet, der in der Programmiersprache Java oder Wenn Sie Kotlin einschließlich aller Bibliotheken und SDKs verwenden, unterstützt Ihre App 64-Bit-Geräte. Wenn Ihre App nativen Code verwendet oder Sie sich nicht sicher sind, ob dies der Fall ist, prüfen Sie Ihre
Schnelle Statusprüfung
Rufe die Play Console auf und sieh dir vorhandene Releases an. konform sind.
In der Play Console werden auch Warnungen angezeigt, die für Ihren Release-Entwurf gelten, wenn alle Probleme im Zusammenhang mit der 64-Bit-Anforderung. In der folgenden Abbildung sehen Sie ein Beispiel.
Wenn eine Warnung angezeigt wird, führen Sie die folgenden Schritte aus, um Ihre App kompatibel zu machen mit 64-Bit-Geräte.
Verwendet Ihre App nativen Code?
Ihre App nutzt nativen Code, wenn:
- Verwendet beliebigen (nativen) C/C++ Code in Ihrer App.
- Links zu nativen Bibliotheken von Drittanbietern.
- Wurde von einem Drittanbieter-App-Builder erstellt, der native Bibliotheken verwendet.
Enthält deine App 64-Bit-Bibliotheken?
Überprüfen Sie die Struktur Ihrer APK-Datei. Nach der Erstellung wird das APK mit beliebigen native Bibliotheken, die die App benötigt. Native Bibliotheken werden in verschiedenen basierend auf dem ABI. Es ist nicht erforderlich, alle 64-Bit-Architektur, aber Sie können für jede native 32-Bit-Architektur die erforderliche Unterstützung bieten. muss die entsprechende 64-Bit-Architektur enthalten.
Für die ARM-Architektur befinden sich die 32-Bit-Bibliotheken in armeabi-v7a. Das 64-Bit-Äquivalent ist arm64-v8a.
Suchen Sie bei der x86-Architektur nach x86 für 32-Bit und x86_64 für 64-Bit.
Achten Sie darauf, dass sich in beiden Ordnern native Bibliotheken befinden. Hier noch einmal zusammengefasst:
Plattform | Ordner für 32-Bit-Bibliotheken | Ordner mit 64-Bit-Bibliotheken |
---|---|---|
SCHARF SCHALTEN | lib/armeabi-v7a
|
lib/arm64-v8a
|
x86 | lib/x86
|
lib/x86_64
|
Hinweis: Je nach App kann es sein, dass es je nach App genau die gleichen Bibliotheken in jedem Ordner befinden. Ziel ist es, sicherzustellen, dass Ihre App eine reine 64-Bit-Umgebung.
Normalerweise ein APK oder Bundle, das für 32-Bit und 64-Bit entwickelt wurde Architekturen Ordner für beide ABIs mit jeweils einem entsprechenden Satz nativer Bibliotheken. Wenn 64-Bit nicht unterstützt wird, wird möglicherweise ein 32-Bit-ABI-Ordner angezeigt aber kein 64-Bit-Ordner.
Mit APK Analyzer nach nativen Bibliotheken suchen
APK Analyzer ist ein Tool, mit dem du verschiedene Aspekte eines erstellten APKs. Damit kannst du native Bibliotheken finden und auf eine 64-Bit-Version Bibliotheken vorhanden sind.
- Öffnen Sie Android Studio und ein beliebiges Projekt.
Wählen Sie im Menü Build > APK analysieren...
Wählen Sie das APK aus, das Sie bewerten möchten.
Suchen Sie im Ordner lib nach der Datei „.so“. -Dateien, falls vorhanden. Wenn es Keine, unterstützt deine App 64-Bit-Geräte und du musst nichts weiter tun. erforderlich. Wenn Sie armeabi-v7a oder x86 sehen, haben Sie eine 32-Bit- Bibliotheken.
Überprüfen Sie, ob Sie ähnliche ".so"- in arm64-v8a oder x86_64-Ordner.
Wenn Sie keine arm64-v8a- oder x86_64-Bibliotheken haben, aktualisieren Sie die mit dem Erstellen und Verpacken dieser Artefakte in Ihr APK beginnen.
Wenn bereits beide Bibliotheken gepackt sind, können Sie fortfahren und Teste deine App auf 64-Bit-Hardware.
APKs entpacken und nach nativen Bibliotheken suchen
APK-Dateien sind wie ZIP-Dateien aufgebaut. Über die Befehlszeile oder eine andere Extraktionstool öffnen, extrahieren Sie die APK-Datei. Je nach Extraktionstool müssen Sie die Datei möglicherweise in ZIP umbenennen.
Suchen Sie nach den extrahierten Dateien. Orientieren Sie sich dabei an der Anleitung oben, wenn deine App 64-Bit-Geräte unterstützt. Sie können das folgende Befehlsbeispiel ausführen: über die Befehlszeile ein:
:: Command Line
> zipinfo -1 YOUR_APK_FILE.apk | grep \.so$
lib/armeabi-v7a/libmain.so
lib/armeabi-v7a/libmono.so
lib/armeabi-v7a/libunity.so
lib/arm64-v8a/libmain.so
lib/arm64-v8a/libmono.so
lib/arm64-v8a/libunity.so
Beachten Sie, dass in diesem Beispiel armeabi-v7a und arm64-v8a vorhanden sind. -Bibliotheken, was bedeutet, dass die App 64-Bit-Architekturen unterstützt.
Apps mit 64-Bit-Bibliotheken erstellen
In der folgenden Anleitung wird beschrieben, wie 64-Bit-Bibliotheken erstellt werden. Beachten Sie, dass Diese Schritte beziehen sich nur auf den Baucode und die Bibliotheken, die Sie erstellen können. aus der Quelle.
Apps mit Android Studio oder Gradle entwickeln
Bei den meisten Android Studio-Projekten wird Gradle als zugrunde liegendes Build-System verwendet. für beide Fälle gilt. Fügen Sie zum Aktivieren von Builds für Ihren nativen Code arm64-v8a und/oder x86_64, je nachdem, welche Architekturen Sie verwenden möchten finden Sie unter der Einstellung ndk.abiFilters im „build.gradle“ Datei:
Cool
// Your app's build.gradle plugins { id 'com.android.app' } android { compileSdkVersion 27 defaultConfig { appId "com.google.example.64bit" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' // ...
Kotlin
// Your app's build.gradle plugins { id("com.android.app") } android { compileSdkVersion(27) defaultConfig { appId = "com.google.example.64bit" minSdkVersion(15) targetSdkVersion(28) versionCode = 1 versionName = "1.0" ndk { abiFilters += listOf("armeabi-v7a","arm64-v8a","x86","x86_64") } // ...
Mit CMake erstellen
Wenn Ihre App mit CMake erstellt wurde, können Sie eine 64-Bit-Version erstellen. ABIs durch Übergeben der arm64-v8a in „-DANDROID_ABI“ Parameter:
:: Command Line
> cmake -DANDROID_ABI=arm64-v8a … or
> cmake -DANDROID_ABI=x86_64 …
Mit „ndk-build“ erstellen
Wenn Ihre App mit ndk-build erstellt wurde, können Sie für
64-Bit-ABIs durch Ändern der Datei 'Application.mk' mit
die Variable APP_ABI
:
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
32-Bit-Code auf 64-Bit übertragen
Wenn Ihr Code bereits auf dem Desktop oder iOS ausgeführt wird, müssen Sie in der Regel nichts weiter tun.
zusätzliche Arbeit für Android. Wenn Ihr Code zum ersten Mal für einen
64-Bit-System benötigen, besteht das Hauptproblem darin, dass Zeiger nicht mehr in
32-Bit-Ganzzahltypen wie int
.
Aktualisieren Sie Code, der Cursor in Typen wie int
, unsigned
oder
uint32_t
Auf Unix-Systemen entspricht long
der Zeigergröße, dies ist aber nicht
"true" für Windows. Verwende stattdessen die Typen uintptr_t
oder
intptr_t
. Zum Speichern der Differenz zwischen zwei Zeigern verwenden Sie den ptrdiff_t
Typ.
Sie sollten immer die spezifischen Ganzzahltypen mit fester Breite bevorzugen, die in
<stdint.h>
statt Typen mit fester Breite wie
int
oder long
, auch wenn es sich nicht um Punkte handelt.
Mit den folgenden Compiler-Flags können Sie Fälle abfangen, in denen Ihr Code falsch ist Konvertierung zwischen Zeigern und Ganzzahlen:
-Werror=pointer-to-int-cast
-Werror=int-to-pointer-cast
-Werror=shorten-64-to-32
Java-Klassen mit int
-Feldern, die Zeiger auf C/C++-Objekte enthalten, haben dasselbe
Problem. Suchen Sie in Ihrer JNI-Quelle nach jint
und wechseln Sie zu
long
auf der Java-Seite und jlong
auf der C++-Seite.
Implizite Funktionsdeklarationen sind für 64-Bit-Code wesentlich gefährlicher. C/C++
dass der Rückgabetyp einer implizit deklarierten Funktion (d. h.
-Funktion, für die der Compiler keine Deklaration gesehen hat) ist int
. Wenn die
Der Rückgabetyp Ihrer Funktion ist ein Zeiger. Dies funktioniert bei einer 32-Bit-
System, in dem Ihr Zeiger in eine Ganzzahl passt. Auf einem 64-Bit-System
die obere Hälfte des Zeigers entfernt. Beispiel:
// This function returns a pointer:
// extern char* foo();
// If you don't include a header that declares it,
// when the compiler sees this:
char* result = foo();
// Instead of compiling that to:
result = foo();
// It compiles to something equivalent to:
result = foo() & 0xffffffff;
// Which will then cause a SIGSEGV if you try to dereference `result`.
Das folgende Compiler-Flag wandelt Warnungen bei impliziten Funktionsdeklarationen in Fehler beheben, damit Sie dieses Problem leichter finden und beheben können:
-Werror=implicit-function-declaration
Wenn Sie einen Inline-Assembler haben, schreiben Sie ihn um oder verwenden Sie eine einfache C/C++-Implementierung.
Wenn Sie hartcodierte Größen von Typen (z. B. 8 oder 16 Byte) haben, ersetzen Sie diese
durch den entsprechenden sizeof(T)
-Ausdruck, z. B. sizeof(void*)
.
Wenn Sie anderen Code für 32-Bit als für 64-Bit bedingt kompilieren müssen,
kann das #if defined(__LP64__)
für allgemeine 32/64-Unterschiede oder __arm__
,
__aarch64__
(Verzweigung64), __i386__
(x86) und __x86_64__
für das spezifische
von Android unterstützte Architekturen.
Passen Sie Formatstrings für printf
- oder scanf
-ähnliche Funktionen wie die
lassen sich mit Formatspezifizierern
keine 64-Bit-Typen angeben,
sowohl für 32-Bit- als auch für 64-Bit-Geräte geeignet. Die Makros PRI
und SCN
in
Dieses Problem lässt sich mit <inttypes.h>
lösen, PRIxPTR
und SCNxPTR
zum Schreiben und Lesen von Hex-Zeigern; sowie PRId64
und SCNd64
zum Schreiben und
64-Bit-Werte tragbar lesen können.
Beim Verschieben müssen Sie möglicherweise 1ULL
verwenden, um eine 64-Bit-Konstante zum Verschieben zu erhalten
anstatt 1
zu verwenden, das nur 32 Bit hat.
Größenerhöhungen mit Android App Bundle abschwächen
Wenn du deiner App eine 64-Bit-Architektur hinzufügst, kann dein APK größer werden. Wir empfehlen Ihnen dringend, die Android App Bundle-Funktion, um die Auswirkungen auf die Größe der im selben APK sowohl den nativen 32- als auch den 64-Bit-Code enthalten.
Spieleentwickler
Die drei am häufigsten verwendeten Suchmaschinen unterstützen 64-Bit:
- Unglaublich seit 2015
- Cocos2d seit 2015
- Unity seit 2018
Unity-Entwickler
Auf leistungsfähige Versionen upgraden
Unity bietet 64-Bit-Unterstützung mit den Versionen 2018.2 und 16.04.2017.
Wenn Sie eine Unity-Version verwenden, die 64-Bit nicht unterstützt, ermitteln Sie, Version, auf die Sie upgraden möchten, und folgen Sie den Anleitungen, die Unity ermöglicht die Migration Ihrer Umgebung und sorgt dafür, dass Ihre Anwendung auf eine die 64-Bit-Bibliotheken erstellen kann. Unity empfiehlt, dass Sie Zugriff auf die Upgrade auf die neueste Version von „Langzeitsupport“ durchführen Version des Editors.
Die folgende Tabelle bietet einen Überblick über die verschiedenen Unity-Versionen und mögliche Maßnahmen:
Unity-Version | Die Version unterstützt 64-Bit? | Empfohlene Vorgehensweise |
---|---|---|
2020.x |
✔️ |
Achten Sie darauf, dass Ihr Build werden in den Einstellungen 64-Bit-Bibliotheken ausgegeben. |
2019.x |
✔️ |
Achten Sie darauf, dass Ihr Build werden in den Einstellungen 64-Bit-Bibliotheken ausgegeben. |
2018.4 (LTS) |
✔️ |
Achten Sie darauf, dass Ihr Build werden in den Einstellungen 64-Bit-Bibliotheken ausgegeben. |
2018,3 |
✔️ |
Sicherstellen, dass die Build-Einstellungen ausgegeben werden 64-Bit-Bibliotheken. |
2018,2 |
✔️ |
Sicherstellen, dass die Build-Einstellungen ausgegeben werden 64-Bit-Bibliotheken. |
1.2018 |
➖ |
Experimentelle 64-Bit-Unterstützung verfügbar ist. |
2017.4 (LTS) |
✔️ |
Unterstützt seit 16.4.2017. Achten Sie darauf, dass Ihre Build-Einstellungen 64-Bit-Bibliotheken ausgeben. |
2017,3 |
✖️ |
Führen Sie ein Upgrade auf eine Version durch, die 64-Bit unterstützt. |
2017,2 |
✖️ |
Führen Sie ein Upgrade auf eine Version durch, die 64-Bit unterstützt. |
2017,1 |
✖️ |
Führen Sie ein Upgrade auf eine Version durch, die 64-Bit unterstützt. |
<= 5,6 |
✖️ |
Führen Sie ein Upgrade auf eine Version durch, die 64-Bit unterstützt. |
Build-Einstellungen zur Ausgabe von 64-Bit-Bibliotheken ändern
Wenn Sie eine Version von Unity verwenden, die 64-Bit-Android-Bibliotheken unterstützt, kann durch Anpassen der Build-Einstellungen eine 64-Bit-Version Ihrer App generieren. Verwenden Sie das IL2CPP-Back-End als Skript-Back-End Zum Einrichten in Ihrem Unity-Projekt, um eine 64-Bit-Architektur zu erstellen:
- Gehen Sie zu Build Settings (Build-Einstellungen) und achten Sie darauf, dass Sie Apps für Android entwickeln. Überprüfen Sie, ob sich das Unity-Symbol neben Android unter Platform befindet. 1. Wenn das Unity-Symbol nicht neben der Android-Plattform steht, wählen Sie Android aus und klicken Sie auf Plattform wechseln.
Klicken Sie auf Player-Einstellungen.
Gehen Sie zu Bereich für Player-Einstellungen > Einstellungen für Android > Sonstiges Einstellungen > Konfiguration
Setzen Sie Skript-Back-End auf IL2CPP.
Wählen Sie die Option Target Architecture > ARM64 hinzu.
Build wie gewohnt!
Bei der Entwicklung für ARM64 müssen alle Assets speziell erstellt werden. für diese Plattform. Folgen Sie der Unity-Anleitung zur Reduzierung von APK-Dateien und erwägen Sie, die Vorteile der Android App Bundle-Funktion, um diesen Anstieg abzumildern nicht so groß sein.
Multi-APK und 64-Bit-Kompatibilität
Wenn Sie die Unterstützung für mehrere APKs von Google Play verwenden, deine App veröffentlicht, wird die Einhaltung der 64-Bit-Anforderung geprüft. auf Release-Ebene. Die 64-Bit-Anforderung gilt jedoch nicht für APKs oder App Bundles, die nicht für Geräte mit Android 9 Pie oder höher bereitgestellt werden.
Wenn eines Ihrer APKs als nicht konform markiert ist, aber eine frühere Version ist
und es nicht möglich ist, sie in die Compliance zu integrieren, besteht eine Strategie darin,
Attribut maxSdkVersion="27"
im Element uses-sdk
in
Manifests dieses APKs. Dieses APK wird nicht an Geräte mit Android 9 Pie geliefert
und die Compliance wird nicht mehr blockiert.
RenderScript und 64-Bit-Compliance
Wenn Ihre App RenderScript verwendet und mit einer früheren Version des
Android-Tools können Probleme mit der 64-Bit-Compliance für die App auftreten. Mit Build
vor 21.0.0 arbeiten, kann der Compiler Bitcode in ein externes
.bc
-Datei. Diese älteren .bc
-Dateien werden für 64-Bit-Dateien nicht mehr unterstützt
Architekturen, sodass das Vorhandensein der Datei in Ihrem APK die Compliance-Anforderungen
Problem.
Entfernen Sie alle .bc
-Dateien in Ihrem Projekt, führen Sie ein Upgrade Ihrer
Umgebung auf build-tools-21.0.0
oder höher und legen Sie
renderscriptTargetApi
in Android Studio auf Nutzer ab 21 umzustellen,
den Compiler, damit keine .bc
-Dateien ausgegeben werden. Erstellen Sie dann Ihre App neu und suchen Sie nach .bc
.
und sie in die Play Console hochladen.
App auf 64-Bit-Hardware testen
Die 64-Bit-Version deiner App sollte dieselbe Qualität und denselben Funktionsumfang wie die 32-Bit-Version. Teste deine App, um sicherzustellen, dass Nutzer die neueste 64-Bit-Version verwenden die Nutzerfreundlichkeit Ihrer App zu verbessern.
Nur 64-Bit-Geräte
Wir empfehlen dir, deine App nach Möglichkeit in einer strikten 64-Bit-Version zu testen. Verwenden Sie dazu eine der folgenden Optionen:
Google Pixel mit einem 64-Bit-System-Image
Um die Entwicklung und das Testen von Apps zu erleichtern, haben wir spezielle System-Images bereitgestellt mit einer strengen 64-Bit-Umgebung für einige Pixel-Geräte. Diese ausschließlich 64-Bit- Images wurden ursprünglich gleichzeitig mit standardmäßigen Factory System-Images bereitgestellt. für die Vorabversionen von Android 13 und 14. Sie können sie jedoch weiterhin als du deine App auf 64-Bit-Kompatibilität testest.
Nur 64-Bit-Bild abrufen
Ähnlich wie bei werkseitigen System-Images können Sie ein reines 64-Bit-Image in Ihr mithilfe des Android Flash Tools oder durch Flash-Tracking Gerät manuell, wie in den folgenden Abschnitten beschrieben.
Gerät mit dem Android Flash Tool flashen
Mit dem Android Flash Tool können Sie ein Systemimage sicher flashen. mit Ihrem unterstützten Pixel-Gerät verbinden. Android Flash Tool funktioniert mit jedem Webbrowser der WebUSB unterstützt, z. B. Chrome oder Edge 79 oder höher.
Das Android Flash Tool führt Sie schrittweise durch den Vorgang zum Flashen Ihrer Dafür müssen keine Tools installiert sein, aber Sie müssen Ihr Gerät entsperren. Gerät und aktivieren Sie USB-Debugging in den Entwickleroptionen. Für finden Sie im Android Flash Tool Dokumentation.
Verbinden Sie Ihr Gerät über USB und legen Sie dann, je nach Art des System-Images, zu flashen, navigieren Sie über einen der folgenden Links zum Android Flash Tool und folgen Sie der Anleitung auf dem Bildschirm:
Android 14 (Beta 5.2) Nur 64-Bit-System-Images
Wähle das Gerät aus, das du flashen möchtest:
Android 13 (QPR3 Beta 3.2) 64-Bit-System-Images
Wähle das Gerät aus, das du flashen möchtest:
Gerät manuell blinken lassen
Sie können auch das neueste System-Image herunterladen und manuell auf Ihren . In der folgenden Tabelle finden Sie Informationen zum Herunterladen des System-Images für Ihren Test. . Das manuelle Blinken eines Geräts ist nützlich, wenn Sie eine präzise Steuerung oder wenn Sie die App häufig neu installieren müssen, z. B. automatische Tests durchführen.
Nachdem Sie Ihre Gerätedaten gesichert und das entsprechende System-Image heruntergeladen haben, können Sie das Bild auf Ihr Gerät flashen.
Sie können jederzeit zum neuesten öffentlichen Build zurückkehren. .
Nur 64-Bit-Factory-Images für Android 14 (Beta 5.3)
Diese Images bieten eine strenge 64-Bit-Umgebung zum Testen der 64-Bit-App. Kompatibilität. Diese reinen 64-Bit-Konfigurationen sind nur für Entwickler gedacht.
Gerät | Downloadlink | SHA-256-Prüfsumme |
---|---|---|
Pixel 4a (5G) | 7e6731fab811ae389f5ff882d5c5a2b8b942b8363b22bbcc038b39d7c539e60a |
|
Pixel 5 | c4da6a19086a02f2cd2fa7a4054e870916954b8e5a61e9a07ee942c537e4b45a |
|
Pixel 6 | 98943384284cbc7323b8867d84c36151757f67ae7633012fb69cb5d6bec2b554 |
|
Pixel 6 Pro | 67ec40be5bd05a40fa5dabc1ce6795aae75d1904193d52e2da00425ed7cb895b |
Nur 64-Bit-Factory-Images für Android 13 (QPR3 Beta 3.2)
Diese Images bieten eine strenge 64-Bit-Umgebung zum Testen der 64-Bit-App. Kompatibilität. Diese reinen 64-Bit-Konfigurationen sind nur für Entwickler gedacht.
Gerät | Downloadlink | SHA-256-Prüfsumme |
---|---|---|
Pixel 4a (5G) | b4be40924f62c3c2b3ed20a9f7fa4303aa9c39649d778eb96f86c867fe3ae59a |
|
Pixel 5 | 6e5e027a4f64f9f786db9bb69d50d1a551c3f6aad893ae450e1f8279ea1b761a |
|
Pixel 6 | becb9b81a5bddad67a4ac32d30a50dcb372b9d083cb7c046e5180510e479a0b8 |
|
Pixel 6 Pro | b0ef544ed2312ac44dc827f24999281b147c11d76356c2d06b2c57a191c60480 |
Zu einem öffentlichen Build zurückkehren
Sie können das Android Flash Tool verwenden, um das Factory Image flashen oder ein werksspezifisches System abrufen Bild aus der Factory Images für Nexus- und Pixel-Geräte und flashen Sie sie dann manuell auf das Gerät.
Android-Emulator
Ab Android 12 (API-Level 31) sind Android-Emulator-Systemimages 64-Bit-Versionen . Virtuelles Android-Gerät (AVD) mithilfe eines Systems erstellen Bild mit Android 12 (API-Level 31) oder höher, um eine strenge 64-Bit-Version für das Testen von Apps.
Weitere Geräteoptionen
Wenn Sie keines dieser Geräte besitzen oder den Android-Emulator nicht verwenden können, ist die Verwendung eines 64-Bit-fähigen Geräts, wie z. B. Google Pixel oder andere aktuelle Flagship-Geräte anderer Gerätehersteller.
App installieren und testen
Am einfachsten kannst du dein APK testen, indem du die App mit Android Debug installierst.
Bridge (ADB). In den meisten Fällen können Sie --abi
als Parameter angeben,
welche Bibliotheken auf dem Gerät installiert werden sollen. Dadurch wird die App nur mit dem
64-Bit-Bibliotheken auf dem Gerät.
:: Command Line
# A successful install:
> adb install --abi armeabi-v7a YOUR_APK_FILE.apk
Success
# If your APK does not have the 64-bit libraries:
> adb install --abi arm64-v8a YOUR_APK_FILE.apk
adb: failed to install YOUR_APK_FILE.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
# If your device does not support 64-bit, an emulator, for example:
> adb install --abi arm64-v8a YOUR_APK_FILE.apk
ABI arm64-v8a not supported on this device
Nach der Installation kannst du deine App wie gewohnt testen. dass die Qualität der 32-Bit-Version entspricht.
Auf bekannte Kompatibilitätsprobleme prüfen
Prüfe deine App beim Testen auf die folgenden Probleme, die sich auf Apps auswirken, wenn auf 64-Bit-Geräten ausgeführt werden. Auch wenn eure App nicht von den betroffenen Bibliotheken und Drittanbieter-Bibliotheken und -SDKs direkt in den Abhängigkeiten Ihrer App,
SoLoader
Wenn Sie das SDK für natives Code-Ladeprogramm verwenden SoLoader – aktualisieren Sie auf Version 0.10.4 oder höher. Wenn Ihr Apps verwendet SDKs, die von SoLoader abhängen, sollten Sie auf die neueste Version aktualisieren stabile Version der betroffenen SDKs.
Für SoLoader v0.9.0 und niedriger wird vorausgesetzt, dass Systembibliotheken
/vendor/lib:/system/lib
Dieser Fehler kann auf Geräten wie dem Pixel nicht beobachtet werden
7 angegeben. Diese Annahme führt jedoch zu Abstürzen auf Geräten, die nur
haben Systembibliotheken in /vendor/lib64:/system/lib64
.
Weitere Informationen zur Behebung dieses und anderer durch SoLoader verursachter Probleme findest du in der in der Google-Hilfe.
OpenSSL
Wenn Sie die OpenSSL-Bibliothek verwenden, aktualisieren Sie auf OpenSSL 1.1.1i oder höher. Wenn Ihre App SDKs verwenden, die eine Kommunikation über HTTPS ermöglichen, oder andere SDKs, die von OpenSSL abhängig sind, müssen Sie auch das SDK auf die neueste Version aktualisieren, die eine neuere OpenSSL-Version verwendet. SDK-Anbieter kontaktieren, falls das nicht der Fall ist verfügbar.
ARMv8.3 PAC ermöglicht eine hardwaregestützte Steuerung Datenflussintegrität durch Authentifizierung von Zeigern zur Laufzeit. Frühere Versionen von OpenSSL verwendet diese Funktionen falsch, was zu Laufzeitabstürzen in allen Geräte mit Prozessoren, die auf ARMv8.3a und höher basieren.
Weitere Informationen zur Behebung dieses und anderer durch OpenSSL verursachter Probleme finden Sie in der in der Google-Hilfe.
BTI
ARMv8.5 und höher verwenden Branch Target Instructions (BTIs), um sich vor JOP-Angriffe: Frühere Versionen der Verschleierung SDKs, die in zufällige Offsets von mit BTI erstellten Bibliotheken verzweigt werden, können dazu führen, zum Absturz gebracht hat. Da die Anweisungen als HINTs: Dieser Fehler kann auf Geräten nicht beobachtet werden. die BTI nicht unterstützen.
Veröffentlichen
Wenn du der Meinung bist, dass deine App fertig ist, kannst du sie wie gewohnt veröffentlichen. Gehen Sie wie immer zu folgen Sie den Best Practices für die Bereitstellung Ihrer App. Wir empfehlen Ihnen, von geschlossenen Test-Tracks auf eine begrenzte Anzahl von damit die Qualität Ihrer App konstant bleibt.
Wie bei der Einführung eines größeren Updates sollten Sie Ihre 64-Bit-fähigen Geräten, bevor sie für eine größere Zielgruppe veröffentlicht werden.
Download Android 14 factory system image (64-bit-only)
Before downloading, you must agree to the following terms and conditions.
Terms and Conditions
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Download Android 14 factory system image (64-bit-only)
Before downloading, you must agree to the following terms and conditions.
Terms and Conditions
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Download Android 14 factory system image (64-bit-only)
Before downloading, you must agree to the following terms and conditions.
Terms and Conditions
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Download Android 14 factory system image (64-bit-only)
Before downloading, you must agree to the following terms and conditions.
Terms and Conditions
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Download Android 13 factory system image (64-bit-only)
Before downloading, you must agree to the following terms and conditions.
Terms and Conditions
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Download Android 13 factory system image (64-bit-only)
Before downloading, you must agree to the following terms and conditions.
Terms and Conditions
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Download Android 13 factory system image (64-bit-only)
Before downloading, you must agree to the following terms and conditions.
Terms and Conditions
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Download Android 13 factory system image (64-bit-only)
Before downloading, you must agree to the following terms and conditions.
Terms and Conditions
By clicking to accept, you hereby agree to the following:All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.
Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).
WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.