Schermo rotto + Utilizzo della shell adb per eseguire il server vnc


8

Ho un HTC HD2 con uno schermo completamente rotto, ho provato a ripararlo con uno schermo sostitutivo ma ho rotto il cavo a nastro dello schermo (oops) giorno triste,

Ne ho due e li ho eseguiti come server e telecamere ipcam.

Ho iniziato a utilizzare qtadb, che ha funzionato sul mio telefono nonostante uno schermo rotto. Ho installato beta Droid VNC Server usando il file manager su qtadb. Ho preso il manifest dell'app:

<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="52" android:versionName="0.991" package="org.onaips.vnc"  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="3" />
<application android:label="droid VNC server" android:icon="@drawable/icon" android:name="MainApplication" android:debuggable="false">
    <activity android:label="@string/app_name" android:icon="@drawable/icon" android:name=".MainActivity" android:launchMode="singleInstance">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:label="Preferences" android:name="preferences" />
    <meta-data android:name="com.mobclix.APPLICATION_ID" android:value="1F34160B-63BB-4854-BDB7-D46B7EADBF06" />
    <activity android:name="com.mobclix.android.sdk.MobclixBrowserActivity" />
    <service android:name="StartAtBootService">
        <intent-filter>
            <action android:name="org.onaips.vnc.StartAtBootService" />
        </intent-filter>
    </service>
    <receiver android:name="StartAtBootServiceReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.HOME" />
        </intent-filter>
    </receiver>
    <service android:name="avncservice" />
</application>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>

e ho provato diverse cose per avviare ed eseguire il servizio usando la console su qtadb. Ho provato a correre:

am start -a android.intent.action.MAIN -n org.onaips.vnc/com.mobclix.android.sdk.MobclixBrowserActivity

am start -a android.intent.action.MAIN -n org.onaips.vnc/org.onaips.vnc.MainActivity

am start -n org.onaips.vnc/com.mobclix.android.sdk.MobclixBrowserActivity

am start -n org.onaips.vnc/org.onaips.vnc.MainActivity


am startservice -a android.intent.action.MAIN -n org.onaips.vnc/com.mobclix.android.sdk.MobclixBrowserActivity

am startservice -a android.intent.action.MAIN -n org.onaips.vnc/org.onaips.vnc.MainActivity

eccetera....

Provo ogni volta NMAPing sull'indirizzo IP del mio dispositivo, non vengono visualizzate nuove porte. (Non ho un firewall)

Ma su un telefono funzionante, non si avvia quando si esegue l'app; inizia quando si preme il pulsante Esegui. Quindi, come posso premere il pulsante Esegui con uno schermo rotto?

Ho solo bisogno del server vnc per funzionare, quindi posso effettivamente fare alcune cose di configurazione per eseguire debian e il mio server video su di esso.

Risposte:


4

Utilizzare adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityal di fuori della shell e verrà avviato il server VNC.


1

Questa risposta è stata suggerita come modifica da un utente anonimo, ma dovrebbe essere autonoma.


Innanzitutto devi individuare il file eseguibile droidvncserver sul tuo dispositivo. Su un Nexus S è in questa directory:

/data/data/org.onaips.vnc/files

Quindi devi impostare l'esecuzione direttamente sul file eseguibile (è una subutilità UNIX) dal PC usando adb.exe. In una finestra della riga di comando (dalla cartella SDK Android appropriata) è possibile digitare:

adb.exe shell chmod 766 /data/data/org.onaips.vnc/files/androidvncserver

(questo deve essere fatto solo una volta, per ulteriori dettagli sul comando chmod digitare man chmod in google)

Quindi sarai in grado di avviare il server vnc direttamente dal tuo PC usando adb.exe:

adb.exe shell /data/data/org.onaips.vnc/files/androidvncserver

Inoltre, per connettere VncViewer utilizzando il tipo di cavo USB in un'altra finestra della riga di comando:

adb.exe forward tcp:5901 tcp:5901

1

Vysor è la risposta! È un'app di Chrome con un server VNC integrato che si avvia automaticamente. Funziona anche su Android 6+. Lo trovi qui .


0
adb shell
cd /data/data/org.onaips.vnc/files
chmod 766 androidvncserver
androidvncserver

2
Nessuna spiegazione, niente! Vuoi approfondire questo aspetto a beneficio dell'utente finale che legge questo?
t0mm13b,

Dovrai adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityprima fare .
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.