Seite auswählen

Neulich hatte ich mal wieder das Problem, dass die Standard-Emulatoren, die mit Android Studio bzw. dem Android SDK installiert werden, für meine Zwecke deutlich zu langsam waren. Bei der Erstellung von Devices über den Android Device Manager hat man zwar zahlreiche Optionen, um die Performance zu boosten, allerdings ist der Android Emulator ohne Hardware-Beschleunigung nahezu unbrauchbar. Und leider gibt es auch zahlreiche Gründe warum man die Hardware-Beschleunigung nicht nutzen kann. Abhilfe schaffen hier Emulatoren von Drittanbietern, wie z.B. der App Player von BlueStacks.

BlueStacks ist unter Windows und MacOS leicht zu installieren und überzeugt durch gute Performance, auch wenn man dem Emulator dafür einiges an Ressourcen zugestehen muss.

Als ich BlueStacks dann über die Android Debug Bridge (ADB) ansprechen wollte, bekam ich allerdings keine Verbindung. Es hat mich schließlich einiges an Zeit gekostet BlueStacks über ADB anzusprechen. Anscheinend ändern sich gelegentlich mal die Ports oder die Einstellungen von BlueStacks selbst und falls auch du nicht zu den Glücklichen gehörst, bei denen alles out-of-the-box funktioniert, habe ich hier einen kurzen Guide mit dem es auf jeden Fall (auch mit anderen Emulatoren) funktionieren sollte.

Schritt 1

Aktiviere in BlueStacks das Debugging (Nur unter Windows nötig)

In der aktuellen Version von BlueStacks für Windows (4.50.5.1003) gibt es unter Einstellungen->Vorlieben die Option „Android Debug Bridge (ADB) aktivieren“. Diese muss aktiviert werden. Bei mir war sie standardmäßig deaktiviert.

Unter MacOS gibt diese Option in den Einstellungen nicht.

 

Schritt 2

Den Port herausfinden unter dem BlueStacks per ADB erreichbar ist

Standardmäßig sind Android-Geräte und Port 5555 auf localhost erreichbar. Das ist allerdings nicht immer der Fall. Bei mir lauscht BlueStacks z.B. unter Port 5556. Wenn man zu diesem Thema etwas recherchiert stellt man fest, dass dieser Port stark schwanken kann. Daher schauen wir einfach nach welcher Port von BlueStacks verwendet wird. Dazu benötigen wir zuerst die Prozess-Id, die BlueStacks verwendet und können damit den Port herausfinden auf dem BlueStacks lauscht.

Windows

Unter Windows schaust du am besten einfach im Task-Manager unter Prozesse und suchst die Prozess-Gruppe BlueStacks. Diese kann man aufklappen und es kommen derzeit 4 Prozesse zum Vorschein. Die für uns interessante Prozess-Id finden wir beim Prozess „BlueStacks Android Host“. Falls die Spalte PID (Prozess-Id) in deinem Task-Manager nicht vorhanden ist kannst du sie über einen Rechtsklick auf die Spalten-Header hinzufügen.

Mit der Prozess-Id können wir nun über die CMD oder die PowerShell mit einem einfachen Kommando den gewünschten Port erhalten. Für dieses Kommando sind Admin-Rechte nötig.

netstat -abno | findstr „PID“

PID musst du natürlich durch die PID von BlueStacks ersetzen, in meinem Fall 13460. Du erhältst eine Liste mit allen Verbindungen dieses BlueStacks Prozesses. Interessant sind für uns allerdings hier nur die TCP-Verbindungen bei denen in Spalte 4 „ABHÖREN“ steht. Wie es aussieht stehen mir die Ports 5556, 6666, 7777 und 9999 unter der IP 127.0.0.1 für ADB offen.

Mac

TODO

 

Schritt 3

BlueStacks über ADB verbinden

Der letzte Schritt ist nun eigentlich Standard. Du nimmst die CMD oder PowerShell zur Hand und killst zur Vorsicht (weil du vermutlich schon einige falsche Ports ausprobiert hast) den ADB-Server.

adb kill-server

Nun kannst du BlueStacks mit den in Schritt 2 herausgefundenen Daten verbinden.

adb connect 127.0.0.1:5556

 

Fazit

Wenn