Android Native – Wann soll man 64-Bit NDK verwenden?

Nach der offiziellen Download-Seite von NDK: http://goo.gl/vI7Oek gibt es zwei Zielversionen:

  • X86 Ziel
  • X64 Ziel

Und ich habe mich gefragt (als Neuling im NDK-Material), bedeutet das, dass ich das x64 NDK bei der Kompilierung einer Applikation für Geräte mit x64-Prozessoren verwenden sollte?

  • Wie man Android's aapt und adb Arbeit auf 64-Bit-Ubuntu ohne ia32-libs (Werke für die Versionen 12, 13 und 14)
  • Android NDK - Multibib-Unterstützung mit gradle
  • Android Studio Emulator - Java-Instanz unterstützt nicht 32-Bit-JVM
  • Android studio adb Syntax error: ")" unerwartet
  • Verwenden Sie 32-Bit-Jni-Bibliotheken auf 64-Bit-Android
  • Und wenn ich nur eine ".apk" -Datei brauche, wie man sie sowohl x86- als auch x64-Builds enthält? (Wenn möglich natürlich)

  • Android Studio Emulator - Java-Instanz unterstützt nicht 32-Bit-JVM
  • Wie man Android's aapt und adb Arbeit auf 64-Bit-Ubuntu ohne ia32-libs (Werke für die Versionen 12, 13 und 14)
  • SDK-Manager startet nicht Windows 7 64-Bit?
  • Nur installierte Windows 10 und Eclipse startet nicht mehr
  • Kann Android Studio nicht in Ubuntu installieren
  • Android studio adb Syntax error: ")" unerwartet
  • One Solution collect form web for “Android Native – Wann soll man 64-Bit NDK verwenden?”

    Update: Die Frage ist ein bisschen veraltet jetzt. Ab Version 10c NDK in einem Paket für alle Zielplattformen wieder verteilt . Die Antwort wurde aktualisiert, um diese Tatsache zu reflektieren.


    Zuerst sollten Sie zwischen der Architektur des Geräts unterscheiden, in dem Ihre Anwendung ausgeführt wird (was ARM (mehrere Arten) 32 oder 64 Bit, MIPS 32 oder 64 Bit und Intel x86 / x64) und die Architektur / OS von sein kann Ihre Build-Maschine (die Windows, Linux oder Mac alle auf Intel x86 / x64 Prozessoren laufen kann).

    Angenommen, Sie haben Windows 64 Bit. Dann (wie gerade jetzt die neueste Version ist 10d ) sollten Sie android-ndk-r10d-windows-x86_64.exe . Es erlaubt Ihnen, für alle von NDK unterstützten Zielplattformen (32 und 64 Bit) zu bauen.

    Wenn Sie für ein 32-Bit-Zielgerät aufbauen, wird die Anwendung auch auf 64-Bit-Geräten ausgeführt, da alle aufgelisteten 64-Bit-Architekturen mit ihren 32-Bit-Pendants abwärtskompatibel sind.

    Aber wenn Sie 64-Bit-spezifische Features der Zielarchitektur verwenden möchten, sollten Sie 64-Bit-Toolchains verwenden. Wenn Sie nur für 64 Bits bauen, wird die Anwendung nicht auf 32-Bit-Architektur ausgeführt.

    Wenn du mehrere Ziele (wie ARM und Intel x86) unterstützen musst, kannst du in deiner Application.mk Ziele festlegen, für die dein nativer Code für (google für APP_ABI ) gebaut werden soll, also baut man mehrere Versionen der nativen Bibliothek auf Und das System lädt das passende in Laufzeit. Auch auf diese Weise können Sie separate Binärdateien für 32 und 64-Bit-Versionen der gleichen Architektur-Familie, so können Sie Feinabstimmung sie.

    Sie können die Dokumente im NDK-Paket weiter lesen, sie sind sehr erschöpfend.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.