Autor |
Nachricht |
GreySH
Anmeldedatum: 16.05.2012
Beiträge: 10
|
Verfasst am:
Mi Mai 16, 2012 13:53 |
  |
Es sind hier ja schon "verstreut" Topics, in denen Leute ihr Handy mit MPE leider nicht steuern können...
Kann man dazu vielleicht eine separate, "zentrale" FAQ/Topic machen, welche Grundvoraussetzungen dafür (detailiert) gegeben sein müssen bzw. bei Problemen relevant sein könnten?
Mir fällt so auf Anhieb ein...
- USB-Debugging muss aktiviert sein
- "Monkey" - Welche Dateien und wo?
- Sind evtl. bestimmte Rechte auf Verzeichnisse/Dateien nötig?
- MPE Version
- MPE ClientVersion
- Kernelversion
- Firmware
- Betriebssystem
- ADB-Treiber-version
- Version adb.exe
- Java/JRE-Version
Ich nutze MPE schon seit Jahren, da es absolut das beste Programm in diesem Bereich ist! ...und das ich mein Handy damit nicht steuern kann stimmt mich schon etwas traurig
Ich nutze ein SE Xperia Mini Pro (SK17i), Android 2.3.4, Kernel 2.6.32.9, Build 4.0.2.A.0.69, Rooted.
MPE Version 1.8.2 - nightly 10.04.2012
MPE Client 1.0.18
ADB aus MPE-Programmverzeichnis
SE sa0102 ADB Interface Driver, Version 2.0.10.20021
...und bekomme wie die anderen "Problemkinder" zwar den Screen angezeigt (und auch aktualisiert) kann aber keine Steuerung übernehmen. Vom Standby aufwecken funktioniert.
Ich kann allerdings mit anderen Programmen "droid VNC Server beta" (instabil) und "androidscreencast" (hier funktioniert das standby aufwecken nicht) das Handy in ähnlicher Weise steuern. |
|
|
  |
 |
deGrasi
Moderator
Anmeldedatum: 21.06.2011
Beiträge: 2701
Wohnort: Metropole Ruhr
|
Verfasst am:
Mi Mai 16, 2012 21:29 |
  |
Hallo,
das Thema Handysteuerung bei SE Geräten ist immer wieder ein interessantes Thema.
Bei SE werden gerne mal die Schnittstellen geändert oder ganz entfernt.
Aktueller Stand ist:
Zitat: | Das Problem bei dieser Funktion ist daß hier mehr oder weniger undokumentierte Schnittstellen verwendet werden. Deshalb ist das ganze nicht 100%ig stabil. |
Wie gesagt, tritt eigentlich nur bei SE Geräten auf.
Grüßle
de Grasi |
_________________ FAQ Android Geräte
Sony Xperia J - Android 4.1.2
Samsung Galaxy S2 - Android 4.2.2
Samsung Galaxy S4mini - Android 4.2.2
Samsung Galaxy S4 - Android 5.0.2
Samsung Galaxy Tab3 - Android 4.2.2
OnePlus One - Cyanogenmod - Android 5.0.2 (ohne Root)
LifeTab - Android 5.0.1
Client Version 1.0.37
MPE V1.8.6 nightly 18.11.2014
MPE Add-on 2.0.19 https://www.pueschel.net/mpe/mpe-addin.xpi |
|
   |
 |
FJ
Site Admin
Anmeldedatum: 15.02.2006
Beiträge: 31906
Wohnort: Tirol
|
Verfasst am:
Sa Mai 19, 2012 17:03 |
  |
Ich glaub bei einigen CM-Versionen gibts diese Probleme auch, ansonsten nur bei SonyEricsson.
Fakt ist:
Im Gegensatz zu VNC Server und Android Cast läuft die Steuerung via MyPhoneExplorer auch auf ungerooteten Geräten. Das funktioniert über eine Binary (monkey) die eigentlich für Testzwecke auf Android verfügbar ist. Diese Datei existiert auch auf SonyEricsson-Geräten. Monkey wird von MyPhoneExplorer über ADB gestartet. Monkey öffnet dann einen TCP-Port am Handy über den MyPhoneExplorer dann die Befehle absendet. Und dieser TCP-Port lässt sich bei SE-Geräten nicht öffnen, warum das so ist - keine Ahnung. Ich habe leider auch kein SE zum Testen da. |
_________________ Ich bitte um Verständnis daß ich aufgrund des hohen Aufkommens im Forum und meines zeitlichen Rahmens nichtmehr jeden Thread im Forum persönlich lesen bzw. beantworten kann.
Bitte benutzt auch die Forum-Suche bzw. die FAQ |
|
    |
 |
GreySH
Anmeldedatum: 16.05.2012
Beiträge: 10
|
Verfasst am:
So Mai 20, 2012 11:03 |
  |
Hallo FJ, danke für die Antwort!
...könnte es denn evtl. sein, dass die Monkey auf den SE's nur auf einem anderen TCP-Port "horcht"? Könntest Du den Befehl zum Starten von Monkey per ADB posten? |
|
|
  |
 |
FJ
Site Admin
Anmeldedatum: 15.02.2006
Beiträge: 31906
Wohnort: Tirol
|
Verfasst am:
Mo Mai 21, 2012 00:20 |
  |
Das kanns nicht sein, der zu verwendende TCP-Port wird beim Start von Monkey als Parameter übergeben. Bist du mit der Android-Shell und ADB halbwegs fit ? Dann könnte ich vielleicht mit dir das Problem näher anschauen. |
_________________ Ich bitte um Verständnis daß ich aufgrund des hohen Aufkommens im Forum und meines zeitlichen Rahmens nichtmehr jeden Thread im Forum persönlich lesen bzw. beantworten kann.
Bitte benutzt auch die Forum-Suche bzw. die FAQ |
|
    |
 |
GreySH
Anmeldedatum: 16.05.2012
Beiträge: 10
|
Verfasst am:
Mo Mai 21, 2012 08:34 |
  |
Na das wäre ja auch zu einfach gewesen
"Halbwegs fit" wäre wahrscheinlich übertrieben, bin ja nicht "IT-unaffin" aber doch eher "Windows-Mensch" als Linuxer. Konnte mir zwar meine tun.ko (nach Anleitung) selber kompilieren, bin sonst aber nicht sehr firm mit der Shell.
Aber Terminal ist auf dem Handy installiert.
Gucke mir die ADB gerade etwas an und würde mich auch etwas "einarbeiten".
Habe mir das logcat beim "Handy steuern" einmal angeschaut.
Was dabei auffiel war ein "Permission denied":
D/AndroidRuntime( 4758):
D/AndroidRuntime( 4758): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime( 4758): CheckJNI is OFF
D/dalvikvm( 4758): creating instr width table
D/AndroidRuntime( 4758): Calling main entry com.android.commands.monkey.Monkey
E/kernel ( 125): [40688.433807] init: sys_prop: permission denied uid:2000 name:ro.monkey
I/power ( 250): *** set_screen_state 1
D/lights ( 250): set_light_backlight: brightness=20
D/kernel ( 125): [40688.748565] request_suspend_state: wakeup (3->0) at 40683829242755 (2012-05-21
05:52:22.097869900 UTC)
W/kernel ( 125): [40688.780578] mddi_sony_ic_on_panel_off [4]
W/kernel ( 125): [40688.780609] sony_lcd_exit_deepstandby [4]
W/kernel ( 125): [40688.780609] sony_toggle_reset [4]
W/kernel ( 125): [40688.830902] sony_lcd_driver_init [4]
W/kernel ( 125): [40688.832489] sony_lcd_exit_sleep [4]
E/kernel ( 125): [40688.960754] init: untracked pid 4758 exited
D/SurfaceFlinger( 250): Screen about to return, flinger = 0x18d730
W/kernel ( 125): [40689.055847] sony_lcd_dbc_on [4]
W/kernel ( 125): [40689.055877] dbc_ctrl = 1
D/kernel ( 125): [40689.056121] cyttsp-spi spi0.0: cyttsp_resume: Enter
D/kernel ( 125): [40689.056121] cyttsp-spi spi0.0: cyttsp_resume: Waking ...
W/kernel ( 125): [40689.103424] mddi_sony_ic_on_panel_on [2]
W/kernel ( 125): [40689.103454] sony_lcd_display_on [2]
D/kernel ( 125): [40689.149383] cyttsp_wakeup: wakeup
D/kernel ( 125): [40689.219299] cyttsp-spi spi0.0: cyttsp_resume: hst_mode 00
D/kernel ( 125): [40689.240264] cyttsp-spi spi0.0: cyttsp_resume: hst_mode 00
D/kernel ( 125): [40689.240356] as3676 0-0040: as3676_late_resume
D/kernel ( 125): [40689.240844] cyttsp-spi spi0.0: chg_status_work: Set charger mode to reg: 0x0
D/dalvikvm( 2899): GC_EXPLICIT freed 10K, 50% free 2806K/5511K, external 743K/1036K, paused 94ms
D/lights ( 250): set_light_backlight: brightness=177
Ich finde auf dem Handy auch keine Datei namens ro.monkey, sondern diese hier:
find / -name *monkey*
/system/framework/monkey.jar
/system/bin/monkey
/data/dalvik-cache/system@framework@monkey.jar@classes.dex
Und die Berechtigungen darauf sind:
-rw-r--r-- root root 37442 2012-04-17 23:42 monkey.jar
-rwxr-xr-x root shell 205 2011-10-18 16:30 monkey
-rw-r--r-- system system 89712 2012-04-17 23:42 system@framework@monkey.jar@classes.dex |
|
|
  |
 |
FJ
Site Admin
Anmeldedatum: 15.02.2006
Beiträge: 31906
Wohnort: Tirol
|
Verfasst am:
Mo Mai 21, 2012 21:04 |
  |
Naja, Linux-Spezi bin ich auch keiner, ich denke wenn du weißt wie man mit dem Terminal umgeht dann klappt das schon
Ja, das mit der Permission ist auffällig.
Starte im Terminal app mal den monkey-prozess, dabei sollte dann die Befehlsliste auftauchen. Hier kontrollierst du ob die Kommandozeilenoption --port auftaucht. Dann startest du nochmal monkey so: "monkey --port 5215" und dabei beobachtest du das logcat. Wenn der berechtigungsfehler wieder auftaucht dann mach das ganze nochmal als Superuser. Du könntest es auch mit anderen Ports versuchen, obwohl ich nicht denke dass es am verwendeten Port 5215 liegt. |
_________________ Ich bitte um Verständnis daß ich aufgrund des hohen Aufkommens im Forum und meines zeitlichen Rahmens nichtmehr jeden Thread im Forum persönlich lesen bzw. beantworten kann.
Bitte benutzt auch die Forum-Suche bzw. die FAQ |
|
    |
 |
GreySH
Anmeldedatum: 16.05.2012
Beiträge: 10
|
Verfasst am:
Di Mai 22, 2012 15:58 |
  |
Ah FJ, danke... *thumbsup*
...wenn ich monkey nur aufrufe bekomme ich schon den "permission denied", wobei uid2000=shell ist und Groupowner ja auch shell ist.
(Habe nur noch nicht rausgefunden, wie man überprüfen kann, wer denn auch in der Group "shell" wirklich ist!?)
Wenn ich das ganze als root mache klappt es und ICH KANN MEIN HANDY STEUERN!!!
Somit kann ich mir (und die anderen "Root-SE-User") zumindest einen "Workaround" basteln, indem ich auf dem Handy kurz ein Skript aufrufe oder vorher kurz per " adb shell "su -c 'monkey --port 5215'" " die monkey entsprechend starte.
Vielleicht kann man ja auch die Rechte irgendwie entsprechend umbiegen?
Wie sehen die denn bei Usern aus, bei denen es so klappt?
Ich füge hier noch mal die Berechtigungen (plus Verzeichnisse) ein:
/system/framework/monkey.jar
/system/bin/monkey
/data/dalvik-cache/system@framework@monkey.jar@classes.dex
drwxr-xr-x root root 2011-11-09 12:25 framework
-rw-r--r-- root root 37442 2012-04-17 23:42 monkey.jar
drwxr-xr-x root shell 1980-01-06 01:08 bin
-rwxr-xr-x root shell 205 2011-10-18 16:30 monkey
drwxrwx--x system system 2012-05-22 13:49 dalvik-cache
-rw-r--r-- system system 89712 2012-04-17 23:42 system@framework@monkey.jar@classes.dex |
|
|
  |
 |
GreySH
Anmeldedatum: 16.05.2012
Beiträge: 10
|
Verfasst am:
Di Mai 22, 2012 16:02 |
  |
ps. kann man denn das Fenster "Handy steuern" auch "separat" per Kommandozeile myphoneexplorer + Parameter starten? |
|
|
  |
 |
FJ
Site Admin
Anmeldedatum: 15.02.2006
Beiträge: 31906
Wohnort: Tirol
|
Verfasst am:
Mo Mai 28, 2012 23:26 |
  |
OK, installiere bitte die aktuelle beta: http://www.fjsoft.at/files/MyPhoneExplorer_DebugUpdate.exe
Ich hab jetzt erstmal einen Tweak eingebaut damit MyPhoneExplorer den Prozess als Superuser startet. Folgendes bitte in die Datei %appdata%\MyPhoneExplorer\general.ini direkt unter [Main] eintragen: ControlPhoneRequestSuPermission=1
Probier erstmal obs damit läuft. Wie ich das dann final einbaue weiß ich noch nicht so recht. Eine eigene Option will ich dafür eigentlich nicht einbauen, ist vom Platz her schwierig und auch vom Text her etwas schwer zu beschreiben für den Laien. Automatisch ists auch schlecht weil der Startvorgang von Monkey bis zu 6 Sekunden dauern kann auf schwächeren Geräten - erst dann könnte MyPhoneExplorer bei Nicht-Erfolg den Monkey mit SU-Rechten nochmal starten...
Wenn du myPhoneExplorer direkt in dem Fenster starten willst dann mach das mit folgendem Befehl: MyPhoneExplorer.exe action=phonecontrol android |
_________________ Ich bitte um Verständnis daß ich aufgrund des hohen Aufkommens im Forum und meines zeitlichen Rahmens nichtmehr jeden Thread im Forum persönlich lesen bzw. beantworten kann.
Bitte benutzt auch die Forum-Suche bzw. die FAQ |
|
    |
 |
GreySH
Anmeldedatum: 16.05.2012
Beiträge: 10
|
Verfasst am:
Do Mai 31, 2012 14:13 |
  |
Hallo FJ, das funktioniert leider nicht...
Aktuelle Beta ist installiert: 1.8.2 - nightly 28.05.2012 22:52:26
Eintrag in %appdata%\MyPhoneExplorer\general.ini ist gemacht:
[Main]
ControlPhoneRequestSuPermission=1
ViewSidebar=1
ConnectionMode=2
...
Auszug aus dem Logcat (etwas gekürzt), bis zum Versuch das Handy zu entsperren:
--------------------------------------------------------
D/Huey ( 7721): notifyDeviceListChanged: DMR=0
D/su (30201): 2000 /system/bin/sh executing 0 monkey --port 5215 using shell /system/bin/sh : s
h
I/ActivityManager( 252): Start proc com.noshufou.android.su for broadcast com.noshufou.android.su/.
SuResultReceiver: pid=30202 uid=10129 gids={3003, 1015}
I/ActivityThread(30202): Pub com.noshufou.android.su.provider: com.noshufou.android.su.provider.Perm
issionsProvider
D/AndroidRuntime(30204):
D/AndroidRuntime(30204): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime(30204): CheckJNI is OFF
D/dalvikvm(30204): creating instr width table
D/AndroidRuntime(30204): Calling main entry com.android.commands.monkey.Monkey
I/power ( 252): *** set_screen_state 1
D/lights ( 252): set_light_backlight: brightness=20
D/kernel ( 127): [95202.624450] request_suspend_state: wakeup (3->0) at 95196930995256 (2012-05-31
11:17:27.048248325 UTC)
D/
W/kernel ( 127): [95202.703582] sony_lcd_driver_init [4]
W/kernel ( 127): [95202.704956] sony_lcd_exit_sleep [4]
D/kernel ( 127): [95202.735076] binder: 252:7209 transaction failed 29189, size 236-0
I/wpa_supplicant(28462): Get Scan Channels command
I/wpa_supplicant(28462): written buf Scan-Channels = 13
I/TelephonyRegistry( 252): notifyDataConnection: state=0 isDataConnectivityPossible=true reason=nul
l interfaceName=null networkType=0
D/NetworkLocator( 377): null cell state delivered
I/TelephonyRegistry( 252): notifyDataConnection: state=0 isDataConnectivityPossible=true reason=gpr
sDetached interfaceName=null networkType=0
D/NetworkLocator( 377): null cell state delivered
I/WifiService( 252): PLMN = 26201
E/kernel ( 127): [95202.825286] init: untracked pid 30201 exited
E/kernel ( 127): [95202.829284] init: untracked pid 30204 exited
D/SurfaceFlinger( 252): Screen about to return, flinger = 0x18d730
W/kernel ( 127): [95203.006225] sony_lcd_dbc_on [4]
W/kernel ( 127): [95203.006225] dbc_ctrl = 1
D/kernel ( 127): [95203.006469] cyttsp-spi spi0.0: cyttsp_resume: Enter
D/kernel ( 127): [95203.006469] cyttsp-spi spi0.0: cyttsp_resume: Waking ...
W/kernel ( 127): [95203.047027] mddi_sony_ic_on_panel_on [2]
W/kernel ( 127): [95203.047027] sony_lcd_display_on [2]
D/kernel ( 127): [95203.103515] cyttsp_wakeup: wakeup
D/kernel ( 127): [95203.169158] cyttsp-spi spi0.0: cyttsp_resume: hst_mode 00
D/kernel ( 127): [95203.203125] cyttsp-spi spi0.0: cyttsp_resume: hst_mode 00
D/kernel ( 127): [95203.203186] as3676 0-0040: as3676_late_resume
D/kernel ( 127): [95203.203674] cyttsp-spi spi0.0: chg_status_work: Set charger mode to reg: 0x0
D/dalvikvm(30078): GC_EXPLICIT freed 193K, 49% free 2819K/5447K, external 743K/1036K, paused 82ms
D/su (30239): 2000 /system/bin/sh executing 0 monkey --port 5215 using shell /system/bin/sh : s
h
D/dalvikvm( 252): GC_CONCURRENT freed 1656K, 43% free 8002K/14023K, external 2072K/2526K, paused 3m
s+29ms
D/AndroidRuntime(30241):
D/AndroidRuntime(30241): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime(30241): CheckJNI is OFF
D/dalvikvm(30241): creating instr width table
D/AndroidRuntime(30241): Calling main entry com.android.commands.monkey.Monkey
E/kernel ( 127): [95219.036499] init: untracked pid 30239 exited
E/kernel ( 127): [95219.038146] init: untracked pid 30241 exited
D/dalvikvm( 783): GC_CONCURRENT freed 415K, 52% free 3038K/6279K, external 800K/1036K, paused 2ms+2
ms
D/lib_locapi( 252): loc_event_cb: xtra download requst
^C
--------------------------------------------------------
Der Permission denied kommt nicht mehr, jedoch reagiert die Steuerung trotzdem nicht auf die Maus.
Was mir dabei auffiel ist, dass ich bei aktivierter Steuerung trotzdem keinen monkey Prozess auf dem Handy finde.
Starte ich das vorab wieder per ""C:\Program Files (x86)\MPE\DLL\"
adb shell "su -c 'monkey --port 5215'"" funktioniert die Steuerung und ich finde auch einen Prozess:
ps | grep monkey
root 32230 32229 82416 15572 ffffffff 00000000 S com.android.commands.monkey |
|
|
  |
 |
FJ
Site Admin
Anmeldedatum: 15.02.2006
Beiträge: 31906
Wohnort: Tirol
|
Verfasst am:
So Jun 10, 2012 01:03 |
  |
Hmm, genau der Befehl wird auch von MyPhoneExplorer gestartet. Poste doch bitte nochmal die Logdatei von MyPhoneExplorer nachdem du das Fenster geöffnet hast |
_________________ Ich bitte um Verständnis daß ich aufgrund des hohen Aufkommens im Forum und meines zeitlichen Rahmens nichtmehr jeden Thread im Forum persönlich lesen bzw. beantworten kann.
Bitte benutzt auch die Forum-Suche bzw. die FAQ |
|
    |
 |
GreySH
Anmeldedatum: 16.05.2012
Beiträge: 10
|
Verfasst am:
Do Jun 14, 2012 10:53 |
  |
Hallo FJ,
da ich nicht sicher war welches Log Du meintest, habe ich Dir mal das Debuglog und AndroidDebuglog, sowie das logcat nach dem Starten des Fensters und ein paar Klicks gemailt.
Mir fiel auf, dass bei jedem Klick die Monkey aufgerufen wird und ich sie in dem Moment auch kurz in der Prozessliste sehe, danach der Prozess allerdings gleich wieder weg ist. Wenn ich ihn "manuell" starte, läuft er bis ich ihn beende bzw. bis zum Programmende.
Zudem sehe ich, wenn ich das Handy manuell entsperre, bei jedem Klick auch das Info-Popup vom Superuser, das der shell su-Rechte gewährt wurden. |
|
|
  |
 |
GreySH
Anmeldedatum: 16.05.2012
Beiträge: 10
|
Verfasst am:
Fr Jun 15, 2012 11:09 |
  |
Hallo FJ,
da das mit der aktuellen Beta jetzt super funktioniert, können wir diesen Topic gerne schließen.
Noch mal danke für die super Unterstützung. |
|
|
  |
 |
FJ
Site Admin
Anmeldedatum: 15.02.2006
Beiträge: 31906
Wohnort: Tirol
|
Verfasst am:
So Jun 24, 2012 13:08 |
  |
Sehr gut, vielen Dank für deine Mithilfe |
_________________ Ich bitte um Verständnis daß ich aufgrund des hohen Aufkommens im Forum und meines zeitlichen Rahmens nichtmehr jeden Thread im Forum persönlich lesen bzw. beantworten kann.
Bitte benutzt auch die Forum-Suche bzw. die FAQ |
|
    |
 |
|