Android device projector
Posted on September 21st, 2009 in Ubuntu | von Bernd S. | 4 Comments »
In meinem letzten Blogpost habe ich beschrieben wie man Screenshots von seinem Android-Handy machen kann. Manchmal wäre es aber hilfreich die Anzeige des Telefons auf den Computerbildschirm zu bringen um z.B: eine Präsentation abzuhalten oder ein Video von einer Applikation aufzunehmen.
Soweit ich das mitbekommen habe ist sowohl die Windows- bzw. die Linuxapplikation eher ein Insidertipp. Wer eine Präsentation über einen Windowsrechner abhalten will, sollte sich mal diesen Blogpost genauer ansehen.
Wie man das ganze unter Linux macht, möchte ich nun näher beschreiben.
Ich habe die Information dazu von einem Google groups Eintrag, auf den mich ein Freund hingewiesen hat. Wie dort auch beschrieben wird, handelt es sich hierbei nur um eine “quick and dirty” Lösung, aber sie funktioniert halbwegs. Der Bildschirm wird auch nur 6x pro Sekunde neu aufgebaut, was man auch deutlich bemerkt.
Hier mal einen kurzen Screencast als kleine Demonstration. Ich habe das Video mit RecordMyDesktop aufgenommen, welches sich in den Ubuntu-Paketquellen befindet.
Um nun die Bildschirmausgabe vom Android-Handy auf den Bildschrim zu bringen, geht man wie folgt vor:
- als erster muss man sich wie im vorigen Blogpost beschrieben das Android-SDK herunterladen und installieren/konfigurieren.
ACHTUNG: DroidEx.jar dürfte mit dem SDK 1.6 nicht mehr funktionieren, daher muss man sich die Version SDK 1.5 r3 installieren! - als nächstes lädt man sich die Datei DroidEx.jar herunter und speichert diese unter “~/android-sdk-linux_x86-1.5_r3/tools”
- danach öffnet man ein Terminalfenster und startet den “Dalvik Debug Monitor”
cd ~/android-sdk-linux_x86-1.5_r3/tools ./ddms
- nun öffnet man noch ein zweites Terminalfenster und gibt folgenden Befehl ein
cd ~/android-sdk-linux_x86-1.5_r3/tools java -cp DroidEx.jar:~/android-sdk-linux_x86-1.5_r3/tools/lib/ddmlib.jar \ com.commonsware.droidex.DroidEx
- jetzt öffnet sich ein Fenster, indem der Bildschirminhalt vom Telefon zu sehen ist.
4 Responses
Nettes Programm.
Nutzt wahrscheinlich “nur” die “Screen capture” Funktion von DDMS und aktualisiert diese automatisch, was wahrscheinlich auch der Grund ist warum man DDMS starten muss und er den Classpath wissen will.
Trotzdem eine feine Sache.
PS: Der Link zum Screencast funktioniert leider nicht.
@goto:
ja, dass denke ich auch, dass hier die Screen-Capture Funktion verwendet wird.
Den Link zum Screencast habe ich korrigiert. Danke für den Hinweis.
der erste artikel klappt super nur leider bekomm ich bei dem auf ruf der jar eine exception:
gfranke:~/android-sdk-linux_x86-1.6_r1/tools$ java -cp DroidEx.jar:~/android-sdk-linux_x86-1.6_r1/tools/lib/ddmlib.jar com.commonsware.droidex.DroidEx
Exception in thread “main” java.lang.NoClassDefFoundError: com/android/ddmlib/AndroidDebugBridge
at com.commonsware.droidex.DroidEx.(DroidEx.java:19)
at com.commonsware.droidex.DroidEx.main(DroidEx.java:103)
Caused by: java.lang.ClassNotFoundException: com.android.ddmlib.AndroidDebugBridge
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
… 2 more
kannst du damit was anfangen?
@Gordon Franke:
Ok, ich habe es jetzt nochmals bei mir getestet. Ich muss gestehen, dass ich als ich das getestet habe, noch kein SDK 1.6 veröffentlicht war und ich das ganze mit dem dem SDK1.5r3 gemacht habe. Dort funktioniert es.
Das Program dürfte mit dem SDK 1.6 nicht mehr laufen
Download SDK 1.5r3:
http://developer.android.com/sdk/1.5_r3/index.html