FEHLER: 32-Bit-Linux-Android-Emulator-Binärdateien sind VERRINGERT, wenn versucht wird, den Android-Emulator auszuführen

14

Ich habe die Android-Entwicklungsumgebung in Ubuntu 10.10, 32 Bit eingestellt. Nach dem Erstellen der AVD beim Starten des Emulators ist die folgende Fehlermeldung aufgetreten.

FEHLER: 32-Bit-Linux-Android-Emulator-Binärdateien sind VERKAUFT. Um sie zu verwenden, müssen
Sie mindestens eine der folgenden
Aktionen ausführen : - Verwenden Sie die Option '-force-32bit', wenn Sie 'Emulator' aufrufen.
- Setzen Sie ANDROID_EMULATOR_FORCE_32BIT in Ihrer Umgebung auf "true".
In beiden Fällen können Sie die 32-Bit-Binärdateien verwenden. Beachten Sie jedoch, dass diese in einer zukünftigen Android SDK-Version nicht mehr vorhanden sind.
Ziehen Sie in Betracht, vorher auf ein 64-Bit-Linux-System umzusteigen.

Die von mir verwendete ADT-Version ist 23.0.3.1327240. Die von mir verwendeten SDK-Bibliotheken sind 32-Bit-Bibliotheken. Bitte hilf mir. Vielen Dank.

Mohanraj Mani
quelle
1
Aktualisieren Sie auf eine neue Version, und wechseln Sie auf 64-Bit.
Mateo
4
Sie sollten auf eine unterstützte Ubuntu-Version aktualisieren. Normalerweise würden wir dies als nicht unterstützt schließen, aber da dieses Problem nicht wirklich spezifisch für eine ältere Version ist und ich denke, dass andere Leute dieses Problem in einer unterstützten Version haben könnten, werde ich es lassen. Ich schlage jedoch dringend vor, dass Sie ein Upgrade auf mindestens 12.04 durchführen.
Seth
3
Ich stimme zu: Dies sind nur wenige neue Fragen zu einem Problem in einer EoL-Version, bei denen (a) wir wissen, dass die Antwort unabhängig von der Version ist, und (b) sowohl die Frage als auch die Antwort (weil sie eine gemeinsame Aktivität mit a beinhalten) nicht offensichtliche Fallstricke) scheinen für andere von besonders hohem Wert zu sein. Dies könnte bearbeitet werden, um es auf alle Releases zu verallgemeinern, aber wir sollten es offen halten. @ MohanrajMani Aber bitte nicht weiter verwenden 10.10. Es wird seit langem nicht mehr unterstützt. Dies bedeutet unter anderem, dass es nicht aktualisiert wird, um neu entdeckte Sicherheitslücken zu schließen. Es ist riskant zu benutzen.
Eliah Kagan
1
Dies hat nichts mit Ubuntu 10.10 zu tun, sondern ist speziell auf den Versuch zurückzuführen, den Android-Emulator auf einer 32-Bit-Linux-Distribution zu verwenden, als er für 64-Bit ausgelegt war. Dasselbe passiert unter Ubuntu 12.xx und 14.xx, wenn die Intel 386-Distribution verwendet wird. Außerdem habe ich zuletzt überprüft, dass Sie nicht einfach auf 64-Bit umschalten können. 64-Bit wird nur von AMD unterstützt, 32-Bit wird nur von Intel unterstützt.
JSON
1
@JSON Die 64-Bit-Version von Ubuntu läuft sowohl auf 64-Bit-AMD- als auch auf 64-Bit-Intel-Prozessoren. Das "amd" in "amd64" bedeutet nicht, dass es sich nur um AMD handelt. In ähnlicher Weise läuft die 32-Bit-Version sowohl auf (32- und -64-Bit) AMD- als auch (32- und -64-Bit) Intel-Prozessoren - das "i" in "i386" bedeutet nicht, dass es sich nur um Intel handelt . Siehe Ist die 64-Bit-Version von Ubuntu nur mit AMD-CPUs kompatibel? und Unterschied zwischen dem i386-Download und dem amd64? für Details. (Ich stimme zu, dass diese Frage nicht spezifisch für Ubuntu 10.10 ist.)
Eliah Kagan

Antworten:

15

Diese Fehlermeldung wird angezeigt, weil Sie anscheinend auf einem 32-Bit-System arbeiten und der Android-Emulator für den besten Betrieb in einer 64-Bit-Umgebung ausgelegt ist. Die einzige echte Lösung ist die Installation eines 64-Bit-Betriebssystems.

Wenn Ihre Hardware nicht unterstützt 64 - Bit - oder Sie können nicht wieder installieren jetzt können Sie vorübergehend Bypass das Problem , indem , -force-32bitwenn Sie den Emulator von der Kommandozeile starten oder indem Sie ANDROID_EMULATOR_FORCE_32BITauf truein Ihrer Umgebung (wie der Fehler sagt). Sie können dies tun, indem Sie Folgendes ausführen:

gedit .profile  

Von einem Terminal. Fügen Sie den Text hinzu:

export ANDROID_EMULATOR_FORCE_32BIT=true  

an das Ende der Datei und speichern und schließen Sie es. Ich kann es momentan nicht testen, aber Sie müssen entweder source .profilevom Terminal aus starten oder neu starten, damit die Änderungen wirksam werden.

Versuchen Sie, den Emulator zu starten.

Es wird dringend empfohlen, ein 64-Bit-Betriebssystem zu installieren, um die Android-Entwicklung fortzusetzen, da Google möglicherweise die 32-Bit-Binärdateien entfernt, die dazu führen, dass Ihr Emulator nicht mehr funktioniert. Android selbst bewegt sich ebenfalls in Richtung einer x64-Architektur. Wenn Sie also bei 32 Bit bleiben, werden Sie sehr bald zurückbleiben.

Seth
quelle
4

Ich habe eine großartige Lösung. Sie können es mit Eclipse oder Netbeans starten. Versuchen :

  1. Klicken Sie in Eclipse auf Ihren Android-Projektordner und wählen Sie dann Ausführen> Konfigurationen ausführen ...

  2. Wählen Sie im linken Bereich des Dialogfelds "Konfigurationen ausführen" die Ausführungskonfiguration Ihres Android-Projekts aus oder erstellen Sie eine neue Konfiguration.

  3. Klicken Sie auf die Registerkarte Ziel.

Geben Sie im Feld Additional Emulator Command Line Options Folgendes ein:

-force-32bit

Führen Sie Ihr Android-Projekt mit dieser Ausführungskonfiguration aus.

in netbeans hast du: 1. wo du debugger wählst wählst anpassen ...

  1. in Emulatoroptionen schreiben -force-32bit
  2. OK klicken. und Anwendung ausführen
Jakob
quelle
1

Bearbeiten Sie diese Datei:

Terminal in Ubuntu öffnen

gedit .bashrc

Füge diesen Text ein:

export ANDROID_EMULATOR_FORCE_32BIT=true

Quelle aktualisieren:

source ~/.bashrc
Engel
quelle
3
~/.bashrcmuss nicht als root bearbeitet werden, daher gibt es keinen Grund sudodafür. (Abgesehen davon ist dies eine vernünftige und hilfreiche Antwort, obwohl ich vorschlagen würde, diese Umgebungsvariable ~/.profilestattdessen wie Seth vorschlägtexport einzufügen oder vielleicht sogar die Zuweisung - dh ohne - in `~ / .pam_environment.)
Eliah Kagan
@EliahKagan In Anbetracht dieser Frage / Antwort ~/.profileist es vielleicht doch nicht der beste Ort? Ich bin etwas verwirrt, weil das Wiki ausdrücklich vorschlug, Umgebungsvariablen in ~/.profile..
Seth
1

Erstellen Sie ein Shell-Skript:

#!/bin/bash
#
#   set export ANDROID_EMULATOR_FORCE_32BIT=true

export ANDROID_EMULATOR_FORCE_32BIT=true
/opt/adt-bundle-linux-x86-20140702/eclipse/eclipse

Ändern Sie das Shell-Skript in ausführbar und führen Sie es aus, um Eclipse zu starten

/opt/adt-bundle-linux-x86-20140702/eclipse/eclipse ist der Pfad zur ausführbaren Eclipse-Datei.

patrkw
quelle
Dies funktionierte bei Verwendung von Titanium, bearbeitete jedoch nur die SH-Datei. Das funktioniert also.
jfreak53
1

Ich habe dieses Problem behoben, indem ich die Emulatorkonfiguration in Android Studio wie folgt aktualisiert habe.

  1. Gehen Sie in Android Studio zum Menü Ausführen -> Konfiguration bearbeiten
  2. Wählen Sie im linken Bereich unter Android-Anwendung den Namen der App aus
  3. Wählen Sie im rechten Bereich die Registerkarte Emulator
  4. Kreuzen Sie "Zusätzliche Befehlszeilenoptionen:" an und geben Sie -force-32bit in das Textfeld daneben ein
  5. Wählen Sie "OK" und versuchen Sie, die App erneut auszuführen.
Yugender M
quelle