Angepinnt Die OUYA mit GM:Studio verbinden

  • Android

    Die OUYA mit GM:Studio verbinden

    Die OUYA mit dem Game Maker zu verbinden ist einfach, wenn man weiß wie. Ich habe die wichtigsten Schritte hier mal aufgeführt. Die Anleitung richtet sich an Windows-Nutzer, lässt sich mit etwas Hintergrundwissen aber auch auf Linux und Mac OS X anwenden. Ich empfehle dazu auch das Besuchen aller angegeben Links. Ferner bin ich für das Finden jeglicher Fehler oder veralteter Informationen dankbar.

    Version: 1.2
    Stand: 06.07.2013
    Verfasser: MewX


    Vorbereitung
    Bevor du mit dem Einrichten beginnst, leg dir ein Micro-USB-Kabel bereit und überprüfe, ob du die OUYA gleichzeitig an einen Bildschirm und per USB an deinen Arbeitsplatz anschließen kannst. Andernfalls musst du später einige Dinge blind tun, was zwar möglich, aber sehr umständlich ist. Alternativ kannst du auch alle Schritte mit einem Laptop durchgehen und die für den Arbeitsplatz relevanten am Ende wiederholen. Bedenke aber, dass ein dauerhaft verlegtes Micro-USB-Kabel die einfachste Lösung ist. Für den Fall, dass das nicht möglich ist, stelle ich noch zwei weitere Verbindungsmöglichkeiten vor (die allerdings erst nach der Ersteinrichtung nutzbar sind).


    Einrichten der OUYA
    Stelle zunächst sicher, dass deine OUYA funktionstüchtig ist und du Spiele aus dem OUYA-Shop herunterladen und spielen kannst. Erwäge, die OUYA per LAN-Kabel mit deinem Router zu verbinden anstatt über W-LAN - insbesondere, wenn du später auf das USB-Micro-Kabel verzichten willst. Überprüfe nun die IP-Adresse der OUYA:
    Manage -> System -> Advanced -> Wi-Fi bzw. Ethernet -> <dein Netzwerk>

    Es ist sinnvoll, der OUYA eine feste IP zu geben. Entweder du weist der OUYA über deinen Router eine feste IP zu (besser!), oder du tust dies in den Wi-Fi- bzw. Ethernet-Einstellungen der OUYA. Bei Wi-fi musst du dein Netzwerk auswählen und die O-Taste länger gedrückt halten, "Modify Network" wählen, das Häkchen bei "Show advanced options" setzen und dann "Static" auswählen.
    Achte darauf, dass die IP der OUYA im Subnetz deines Routers liegt. Für gewöhnlich hat dein Router eine Adresse wie z.B. 192.168.0.1 mit dem Subnetz 192.168.0.0/24. Die 24 bedeutet, dass die ersten 24 Bits (von 32) fest sind, d.h. nur die letzten 8 dürfen verändert werden. In diesem Fall darfst du alle Adressen zwischen 192.168.0.2 und 192.168.0.254 vergeben (1 ist für gewöhnlich der Router, 0 und 255 sind reserviert). Pinge die entsprechende Adresse auch vorher von deinem Arbeitsplatz aus, damit du nicht die gleiche zweimal vergibst:
    (Windows-Taste + R) -> cmd -> ping ipadresse

    Sobald du die IP-Adresse vergeben hast, trenne ggf. die OUYA vom LAN und stelle sicher, dass du wieder Internetzugang hast. Überprüfe, ob die IP nun die richtige ist und pinge sie. Ist der Ping nicht erfolgreich, überprüfe, ob dein Arbeitsplatz sich im gleichen Subnetz wie die OUYA befindet.
    Es empfiehlt sich übrigens generell, deinem Arbeitsplatz ebenfalls eine feste IP zuzuweisen.


    Installation des Android SDKs
    Dieser Teil ist eine Wiedergabe der offiziellen OUYA Dokumentation. Überprüfe diese Seite zuerst, falls diese Anleitung hier schon lange nicht mehr aktualisiert worden ist.
    Ich gehe davon aus, dass du das Android SDK bereits installiert hast und Studio erfolgreich mit einem Android-Gerät kommuniziert hat. Wenn nicht, befolge die Schritte hier.
    Für die OUYA benötigt man noch ein paar zusätzliche Pakete des Android SDKs. Öffne den SDK Manager des Android SDKs (befindet sich in dessen Ordner auf oberster Ebene, sollte aber auch im Startmenü zu finden sein) und installier folgende Pakete bzw. bringe sie auf den neusten Stand:
    • Tools: Android SDK Tools
    • Tools: Android SDK Platform-tools
    • Android 4.1.2 (API 16): SDK Platform (ohne Google APIs)
    • Extras: Android Support Library
    • Extras: Google USB Driver

    Starte den SDK Manager wiederholt neu um sicherzugehen, dass du wirklich von allen Paketen die aktuellste Version installiert hast.


    Hinzufügen der adb-Befehle zur Path-Variable
    Du wirst später recht häufig adb benutzen, um mit der OUYA zu kommunizieren. Dieses Programm rufst du über die Kommandozeile auf (also z.B. in cmd unter Windows). Leider befindet sich adb in keinem der Ordner, die standardmäßig durchsucht werden, wenn du einen Befehl eingibst. Da du wahrscheinlich nicht immer den vollen Dateipfad angeben willst, fügst du die Pfade des Android SDKs einfach zu der Liste der zu durchsuchenden Pfade hinzu:
    Systemsteuerung -> Systemumgebungsvariablen bearbeiten -> Umgebungsvariablen... -> Path (entweder für deinen Benutzer oder für alle)

    Passe den folgenden String an (schau nach, in welchem Verzeichnis tools und platform-tools zu finden sind) und hänge ihn hinten an die Path-Variable an (das ";" dient als Trennzeichen"):
    ;C:\<Pfad zum Android SDK>\tools;C:\<Pfad zum Android SDK>\platform-tools

    Öffne nun ein neues(!) cmd-Fenster und gib "adb devices" ein. Wenn du alles richtig gemacht hast, gibt er dir nun eine Liste aller verbundenen Android-Geräte aus (die wahrscheinlich leer ist).


    Einrichten der OUYA als adb-Device (USB)
    Dieser Teil ist eine Wiedergabe der offiziellen OUYA Dokumentation. Überprüfe diese Seite zuerst, falls diese Anleitung hier schon lange nicht mehr aktualisiert worden ist.
    Die USB-Treiber für die OUYA musst du dir leider ein wenig selber zusammenbasteln. Öffne die folgende Datei in einem Texteditor:
    <Pfad zum Android SDK>\extras\google\usb_driver\android_winusb.inf

    Füge nun am Ende der "[Google.NTx86]"- und "[Google.NTamd64]"-Sektionen folgende Zeilen ein:
    ;OUYA Console
    %SingleAdbInterface% = USB_Install, USB\VID_2836&PID_0010
    %CompositeAdbInterface% = USB_Install, USB\VID_2836&PID_0010&MI_01

    Verbinde nun die OUYA mit deinem Computer und gib nach einer kurzen Wartezeit folgende drei Befehle in ein cmd-Fenster ein:
    adb kill-server
    echo 0x2836 >> "%USERPROFILE%\.android\adb_usb.ini"
    adb start-server

    Zuletzt musst du die Treiber aktualisieren. Geh in den Geräte-Manager (zu finden u.a. in der Systemsteuerung) und suche dort unter USB-Geräten die OUYA. Wähle "Treibersoftware aktualisieren..." im Rechtsklickmenü und wähle den Ordner des modifizierten Google-Treibers aus. Ignoriere alle Warnungen.
    Wenn du alles richtig gemacht hast, sollte bei der Eingabe von "adb devices" nun ein entsprechender Eintrag zu sehen sein.


    Installation von fertigen Spielen bzw. apks
    Wenn du apks auf deiner OUYA installieren willst, kannst du dies über adb tun:
    adb install datei

    Die Datei bzw. der Dateipfad bezieht sich dabei auf den Computer, auf dem du den Befehl ausführst. Alternativ kannst du dies über eine File-Explorer-App tun (Erklärung weiter unten). Die Apps kannst du dann unter Make -> Software einsehen und starten.


    Optional: YoYo Runner für Micro Web Server konfigurieren
    Wenn du keine adb-Verbindung zur OUYA hast, kannst du trotzdem Spiele von Studio streamen. Dies geschieht mithilfe des Micro Web Servers, der automatisch gestartet wird, wenn beim Testen des Spiels kein adb-Device gefunden wird. Ich weiß nicht genau, ob der Micro Web Server größere Nachteile gegenüber der adb-Verbindung hat, aber ich empfehle, beide Varianten ausreichend zu testen, bevor du dich für den Micro Web Server entscheidest.
    Um den Micro Web Server zu konfigurieren, musst du lediglich die IP der OUYA in die "IP Allowed List" eintragen. Du kannst auch das ganze Subnetz freigeben, indem du z.B. "192.168.0.0/24" schreibst.
    Starte nun den YoYo Runner auf der OUYA und geh in die Einstellungen (eventuell musst du vorher kurz den OUYA-Knopf drücken). Dort gibst du dann die IP (Bezeichnungen funktionieren derzeit anscheinend leider nicht) deines Arbeitsplatzes ein. Es kann sein, dass du sofort wieder aus den Einstellungen geschmissen wirst. Dies kannst du beheben, indem du das automatische Beenden von Apps kurzzeitig abschaltest:
    Manage -> System -> Advanced -> Developer options -> Don't keep activities

    Wichtig: Vergiss unter keinen Umständen, diese Option wieder zu aktivieren! Es kann sonst durchaus passieren, dass deine OUYA Apps offen lässt und erst beendet, wenn eine andere den Speicher anfordert. Das kann dann zu unangenehmen Rucklern führen.


    Optional: Nutzung von adb über LAN
    Es ist auch möglich, die Verwendung von adb von USB auf TCP/IP umzuschalten. Dafür benötigst du allerdings eine bestehende adb-Verbindung:
    adb tcpip 5555

    Dabei wird die USB-Verbindung getrennt und deaktiviert. Du musst dich nun manuell verbinden:
    adb connect ip

    Nimm hierbei die IP der OUYA. Bei 5555 handelt es sich übrigens um den Standardport. Ersetze connect mit disconnect, um die Verbindung zu trennen. Möchtest du wieder auf USB wechseln, gib folgendes ein:
    adb usb

    Selbst wenn du dich versehentlich aussperren solltest: Keine Panik, nach einem Neustart der OUYA ist der USB-Modus wieder aktiv. Wenn du direkt in den TCP/IP-Modus booten willst, befolge diese Anleitung. Vorsicht, du kannst dich dort endgültig aussperren und/oder die Konsole fährt nicht mehr hoch!
    Wichtig: Android 4.1 hat noch keine adb Whitelist. Das bedeutet, dass theoretisch jedes Gerät per adb auf die OUYA zugreifen kann (und dort Quasi-Rootrechte besitzt!). Wenn du also adb über TCP/IP aktivierst, stelle sicher, dass der verwendete Port im Router geschlossen ist bzw. nicht anderweitig bedient wird (deaktiviere insbesondere DMZ, falls vorhanden). Verzichte gänzlich auf TCP/IP, wenn du mindestens einen Teilnehmer deines Subnetzes nicht kennst.
    Hinweis: Studio trennt die Verbindung zu allen Geräten, wenn du den roten Stopp-Knopf drückst. Du musst dich dann wieder neu verbinden (bei USB passiert das automatisch).
    Hinweis: W-LAN ist mit adb im Vergleich zu USB sehr viel langsamer, für schnelles Testen sogar eher unbrauchbar.


    Optional: File Explorer und Windows File Sharing
    Wenn du keine dauerhafte adb-Verbindung zur OUYA gewährleisten kannst, kannst du dir eines File Explorers auf Android behelfen, um apks zu installieren. Hierfür empfehle ich den ES File Explorer von EStrongs. Die apk muss über adb installiert werden. Die App taucht dann neben dem YoYo Runner unter Make -> Software auf. Innerhalb der App hat man Zugriff auf fast alle Ordner der OUYA (es handelt sich um keinen Root-Zugriff, daher sind manche Ordner/Dateien nicht sichtbar).
    Um nun externe Dateien auf der OUYA verfügbar zu machen, kannst du entweder einen USB-Stick an die OUYA anstecken (diesen findest du dann unter Local -> usbdrive) oder z.B. auf von Windows freigegebene Ordner zugreifen. Innerhalb des ES File Explorers lässt sich das ganz einfach einrichten:
    Network -> LAN -> New (Die Schaltflächen sind über den Bildschirm verteilt)

    Gib hier einfach die IP oder Bezeichnung (besser, da die IP eventuell nicht statisch ist) des Computers an und wähle den anonymen Zugriff. Nun solltest du auf alle freigegebenen Ordner zugreifen können. Möchtest du gezielt einen Ordner einbinden, hänge "/namedesordners" an die IP bzw. Bezeichnung an.
    Wichtig: Solltest du halbwegs sensible Daten in einem freigegeben Ordner aufbewahren, schränk den Zufriff auf passwortgesicherte Nutzer ein. Da du der OUYA auch nicht die Zugangsdaten für ein Konto mit Administratorrechten geben willst, leg unter Windows einfach einen Benutzer OUYA an, der nichts anderes darf als diese Ordner zu öffnen. Je nachdem wie dein Router nämlich konfiguriert ist, sind deine freigegebenen Dateien möglicherweise sonst auch nach außen hin sichtbar.
    Hinweis: Du kannst mit diesen Methoden nicht nur apks installieren, sondern z.B. auch auf deine Videos und Musik zugreifen (sofern du Apps zum Abspielen hast). Vermeide es aber, Dateien auf die OUYA zu kopieren.


    Optional: Root-Zugriff
    Dafür sehe im Moment noch keinen Sinn, aber Root-Zugriff erhälst du durch "su" innerhalb der adb-Shell. Es ist unter Umständen möglich, dem ES File Explorer Root-Rechte zu geben. Wenn jemand weiß, wie das ohne unangenehme Seiteneffekte funktioniert, ergänze ich das hier gerne. Für die Entwicklung von Spielen ist Root-Zugriff aber eher unwichtig, da der Spieler am Ende auch keinen haben wird. Ansonsten sei wieder auf diese Anleitung verwiesen.


    Hinweis: OUYA-Updates
    Da bei einem OUYA-Update häufig Systemdateien und -einstellungen ersetzt werden, kann es sein, dass nach einem Update z.B. adb über TCP/IP neu konfiguriert werden muss.


    Wenn ihr noch weitere Punkte habt, füge ich die auch noch gerne hinzu.