Frage an android-emulator, debugging, virtualbox, virtual-machine, android – Debuggen mit einer virtuellen Maschine wie VMWare / VirtualBox?

19

Ich entwickle eine Android-Anwendung, habe aber genug von der Leistung vonMy emulator Ich habe eineAndroid PC version installiert sowohl in VM-ware undVirtual Box

Kann ich es als Emulator verwenden? Wenn das so ist, wie? Wie kann ich mich verbinden?ADB auf eine virtuelle Maschine mit PC Android?

Ich habe in einigen Foren gesehen, dass dies aber meineVMs Android hat keine spezifische IP.

Wie verbinde ich es?

Deine Antwort

5   die antwort
1

starte den Android Terminal Schreibbefehl "ifconfig eth0"

Windows-Benutzer machen Umgebung C: \ Benutzer \ Benutzername \ AppData \ Local \ Android \ sdk \ Plattform-Tools

"adb connect IP address of the VM": 5555 Jetzt App auf VMware ausführen
1

aber haben Sie Tricks gesehen, um die Leistung des Emulators zu steigern?Warum ist der Android-Emulator so langsam? Wie können wir den Android-Emulator beschleunigen?)

a) Verwenden Sie Intel Atom x86 anstelle von ARM

b) Verwenden Sie hw.gpu.enabled

Ich würde sagen, dies macht den Emulator in seiner Leistung mit einem echten Gerät vergleichbar.

Update 1

Im Allgemeinen besteht die Idee darin, den Android-PC so zu konfigurieren, dass er TCP / IP für die ADB-Verbindung verwendet. Und Sie müssen möglicherweise mit den Netzwerkeinstellungen von VMWare oder VirtualBox herumspielen.

Nützliche Links (die versuchen, das zu erreichen, was Sie wollen

Keine Netzwerkverbindung - Android-x86 unter VMWare Fusion http://lkubaski.wordpress.com/2012/08/15/running-android-on-vmware-player-with-networking-enabled/ http://www.transdroid.org/2011/01/26/techpost-debugging-against-a-virtual-machine-android/

Ich habe viele Portale daraufhin überprüft, ob die Geschwindigkeit von Emulatoren erhöht werden kann. Keines von ihnen funktioniert, obwohl die virtuelle Maschine eine höhere Geschwindigkeit aufweist, wenn die App darauf ausgeführt wird, als der Emulator. Die Hauptfrage ist jedoch, wie Alternativen vermieden werden können Trikaldarshi
Ich habs. Es ist seltsam, dass die virtuelle Maschine schneller arbeitet als der Emulator mit Intel Atom x86. Ich glaube, es nutzt auch Virtualisierung (also sollten sie vergleichbar sein). Lassen Sie mich nach Informationen zu VMWare oder VirtualBox suchen und mich bei Ihnen melden. Victor Ronin
Siehe meine aktualisierte Antwort. Victor Ronin
10

len möchten, müssen Sie die IP-Adresse der VM überprüfen: Angenommen, Sie verwenden den VMWare-Player.

SchlagenALT-F1 in der VM und verwenden Sie dieifconfig Befehl zum Erkennen der IP - Adresse, die Ihrem Netzwerkgerät zugewiesen wurde (normalerweiseeth0). Sie können dann treffenALT-F7 um zur Android-Benutzeroberfläche zurückzukehren.

Führen Sie dann auf Ihrem Host-PC den Befehladb connect [ANDROID_X86_IP] um den SDK-Debugger mit Ihrer Android x86-VM zu verbinden; zum Beispiel:adb connect 192.168.1.100:5555.

Daraufhin sollte die Liste der angeschlossenen Geräte angezeigt werden, und die Verwendung zum Debuggen wird aktiviert.

ADB befindet sich normalerweise auf Ihrem Computer in einem Unterordner zu Ihrem Benutzerordner in:~/Android/Sdk/platform-tools. Es wird empfohlen, es Ihrem Pfad hinzuzufügen, damit Sie mit dem Terminal von jedem beliebigen Ort aus darauf zugreifen können. Ich persönlich benutze dies in~/.bash_profile:

#add Android platform-tools directory
PATH=~/android-sdks/platform-tools:$PATH
export PATH

Falls ADB das erste Mal fehlschlägt, können Sie es versuchenadb kill-server ; adb start-server ADB zurücksetzen.

Wenn Sie weiter lesen möchten, lesen Sie dieAndroid-x86-Website. Es stehen auch viele Disc-Images für zur Verfügungherunterladen.

11
Lösung:Ich würde dringend empfehlen, Android x86 zu verwenden, da es um ein Vielfaches schneller ist als der Android-Emulator mit Android x86 4.2. Sie können jede Anwendung mit diesem Programm installieren und verwenden und "Google Play" mit Ihrem Konto synchronisieren, so wie Sie es mit dem Tablet tun

Ich habe verschiedene Möglichkeiten gefunden, um mit dem Internet und ADB zu verbinden

Schritt: 1 Auswahl der AdapterFALL 1: Nur Internet {NAT Adapter}

Die einfachste Lösung ist die Verwendung eines NAT-Adapters, der Sie direkt mit dem Internet verbindet, wenn der Host mit dem Internet verbunden ist. Bei diesem Setup erhalten Sie jedoch keine ADB-Verbindung. Hier erhalten Sie die öffentliche IP, sodass Sie keine Verbindung zum Host-Computer herstellen können

Fall 2: Nur adb {Host Only Adapter}

Die einfachste Lösung ist die Verwendung von Host Only Adapter

Hinweis: Der Standardadapter "Nur Host" funktioniert möglicherweise nicht, da die DHCP-Servereinstellungen ebenfalls neu erstellt wurdenHostOnlyAdapter oder laufeDHCP server für vorhandenen Adapter ()

Fall 3: Für adb und Internet {Bridge Adapter}

In diesem Fall müssen Sie aufpassen.

Wenn Sie LAN für die Internetverbindung verwenden, müssen Sie den Bridge Adapter mit Ihrer Ethernet-Karte verwenden. Er gibt Ihnen die lokale IP-Adresse und die virtuelle Maschine stellt über die Host-Maschine eine Verbindung zum Internet her

Alternativ, wenn Sie mit Wifi arbeiten, machen Sie dasselbe, indem Sie den Wifi-Adapter auswählen

Für andere Verbindungsarten gehen Sie den gleichen Weg

Schritt: 2 Verbindung mit adb

Um die IP-Adresse zu überprüfen, drücken Sie einfachAlt + F1 {für Konsolenfenster} [Um zur Grafikansicht zurückzukehren, drücken SieAlt + F7 ]

Sie sehen den Konsolenfenstertypnetcfg

Es wird die IP-Adresse angezeigt

Fahren Sie nun mit der Eingabeaufforderung zum Ausführen des Hosts fort und wechseln Sie in den ADB-Verzeichnistyp

 adb connect {your ip address}
Beispiel

adb connect 192.168.1.51

Hinweis: Wenn adb nicht ausgeführt wird oder nicht reagiert, können Sie Folgendes tun
adb kill-server

adb start-server 

Sie können an adb angeschlossene Geräte überprüfen

adb devices
Tolle Erklärung. Vielen Dank. Demir
sollen diese einstellungen mit android x86 funktionieren 4.3 user1448729
ja es soll für jedes android ähnlich sein Trikaldarshi
es arbeitet daran, vielen Dank user1448729
-2

http://aztcs.org/meeting_notes/winhardsig/Android-vm/Android-VMwarePlayer-Win.pdf Guter Link für den Einstieg in VMWARE

In dem Fall, dass Sie im folgenden Verzeichnis / opt / android-sdk-linux installiert haben, legen Sie die Pfadvariablen fest

export ANDROID_HOME=/opt/android-sdk-linux

export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Wenn Sie nach dem Ausführen von path feststellen, dass die Anwendung "android" in der Konsole eingibt, ist die Pfadeinstellung korrekt.

Erstellen Sie eine Hello World-Anwendung (bekomme den sdk hier richtig installiert wenn du fragen hast)

Starten Sie die Hello World App

Drücken Sie ALT-F1 in der VM und verwenden Sie den Befehl netcfg, um die IP-Adresse Ihres eth0-Geräts zu ermitteln. Sie können dann ALT-F7 drücken, um zur Android-Benutzeroberfläche zurückzukehren. Führen Sie dann auf Ihrem Host-PC den Befehl adb connect [ANDROID_X86_IP] aus, um den SDK-Debugger mit Ihrer Android x86-VM zu verbinden. Zum Beispiel: adb connect 192.168.1.100:5555. Wenn Probleme auftreten, den Dienst adb kill-server; adb start-server

Wechseln Sie an der Konsole in das Verzeichnis / android-sdks / platform-tools und geben Sie dann Folgendes ein

./adb connect 192.168.1.100 (beachten Sie, dass 192.168.1.100 standardmäßig für Port 5555 erforderlich ist)

Ich musste das ./adb-Präfix verwenden und dann die VMWARE-Instanz konfigurieren.

Ich fühle mich weniger fettig und vermeide XAML :-)

Es tut mir leid, aber der erste Link ist schrecklich. scristalli

Verwandte Fragen