Im Forum der xda-developers ist ein kleines Java-Programm aufgetaucht, über das man sein Android-Handy bequem vom Desktop aus bedienen und somit auch Screencasts vom Gerät erstellen kann. Ihr braucht dazu weder Root-Rechte, noch irgendwelchen Programme auf eurem Android-Smartphone, das frei verfügbare Android-SDK und Java reichen aus. Im folgenden will ich versuchen euch zu erklären wie Ihr das Ganze auf einem Linux-System umsetzt.
In einem ersten Schritt müsst Ihr das Android-SDK auf eurem System installieren. Geht dazu auf developer.android.com und ladet das aktuelle SDK auf euren Rechner herunter. Das SDK gibt es für Windows, MacOS X und natürlich auch Linux. Es gibt vom SDK nur eine 32-bit Version, so dass man auf einem 64-bit Linux die 32-bittige Version der Java-Laufzeitumgebung installieren muss (Siehe Android-SDK mit Bezug auf 64-bit Ubuntu, beachtet bitte dass das Paket ia32-sun-java6-bin seit Lucid in den Partner-Quellen steckt).
Ich gehe mal davon aus, dass Ihr Java installiert habt, daher gehe ich auf die Installation von Java nicht ein. Stellt nun erstmal euer Android-Handy passend ein, öffnet „Einstellungen -> Anwendungen -> Entwicklung“ und aktiviert „USB-Debugging“, danach deaktiviert die Option „Verwendung nur als Massenspeicher“ unter „Einstellungen -> Telefoninfo -> Weitere Einstellungen“. Verbindet dann das Handy über USB mit eurem Rechner.
Entpackt nun das SDK und geht in das Tools-Verzeichnis. In einem ersten Test solltet Ihr die Android Debug Bridge starten und überprüfen, ob euer Gerät auch gefunden wird. Der ADB-Server muss dabei mit Root-Rechten gestartet werden.
$ cd android-sdk-linux_86/tools $ sudo ./adb start-server * daemon not running. starting it now * * daemon started successfully * $ ./adb devices List of devices attached I750026rVJm3 device
Solltet Ihr auf die Root-Rechte verzichten, dann werdet Ihr keinen Zugriff auf das Handy haben…
$ ./adb devices * daemon not running. starting it now * * daemon started successfully * List of devices attached ???????????? no permissions
Alternativ zu Root-Rechten für den adb-server könnte man udev-Regeln definieren, doch mit Root-Rechten für adb muss man sich darum nicht kümmern. Holt euch nun androidscreencast.jnlp aus dem Forum von forum.xda-developers.com. Damit das Java-Programm die Debugging-Bridge findet, müsst Ihr den Pfad zum tools-Verzeichnis aus dem SDK noch in den $PATH aufnehmen, danach könnt ihr dann das Java-Programm starten.
$ PATH=$PATH:/pfad/zu/android-sdk-linux_86/tools/ #Bitte anpassen $ javaws androidscreencast.jnlp
Es sollte nun ein Fenster erscheinen, das den Bildschirminhalt eures Androiden anzeigt. Richtig flott ist das Ganze leider nicht, doch unbrauchbar langsam ist es auch nicht. Im Folgenden Video könnt Ihr euch selber einen Bild machen [UPDATE: Der von mir damals genutzte Videohoster hat leider seinen Dienst eingestellt. Die damals hochgeladenen Videos sind daher nicht mehr zu sehen.]
Super Artikel! und auch ne Super Idee!
Aber leider läuft das bei mir nicht wirklich flüssig, hab ein Android 2.1 CyanogenMod auf dem HTC Magic laufen, da ruckelt am Desktop einfach zu viel um es halbwegs nutzen zu können, Schade!
Nunja, es läuft nach ein bisschen damit rumspielen doch ganz gut, evtl. hats am Anfang einfach nur gehackt! Danke für den Tipp und die Anleitung!
So richtig rund läuft es auch hier nicht, sieht man ja auch im Video. Doch ganz ganz schlecht ist es auch nicht 😉
klasse tip. funktioniert genau so gut/schlecht mit meinem samsung spica 🙂
Moin moin Christoph,
super Artikel … neue Möglichkeiten. 🙂
Aber wieso über das Forum mit Registrierungszwang? (siehe http://code.google.com/p/androidscreencast/)
Apropos 32 ./. 64; bei mir funktioniert alles mit installiertem OpenJDK 64-Bit und MOTODEV Studio for Android 64-bit …
Danke für den Hinweis. Habs eingebaut.
Vom Desktop aus bedienen funktioniert bei mir mit dem Milestone nicht.
> Mouse and keyboard control FOR ROOTED DEVICES ONLY
Danke, interessant. Mit etwas Glück wird es auch noch etwas schneller, aber die Videos werden so sicher besser werden, als mit der Kamera. 🙂
Wie bringe ich die beiden benötigten Befehle denn in einen Menüpunkt? Durch das benötigen von sudo geht das ja nicht so ohne weiteres.
Hallo matthias, wenn ich das ganze permanent nutzen möchte, dann würde ich das mit einer udev-Regel lösen. Oben im Artikel habe ich das nur kurz angerissen, doch mit dieser Regel musst du dann nicht mehr mit Root-Rechten hantieren. Bei Fragen einfach fragen 🙂
Ahja, wer lesen kann ist klar im Vorteil 😉
Könntest du mal sagen, wie man das hier mit udev Regeln löst, ich hab noch nix mit udev gemacht und bin da ziemlich unerfahren! Danke!
Schau dir mal den Beitrag Android-SDK mit Bezug auf 64-bit Ubuntu an. Dort habe ich das für das Galaxy beschrieben. Analog müsste sich das auch für andere Androiden übernehmen lassen.