Pantalla rota + Uso de adb shell para ejecutar el servidor vnc

Tengo un HTC HD2 con una pantalla completamente rota, traté de repararlo con una pantalla de reemplazo pero rompí el cable de cinta a la pantalla (ups) triste día,

Tengo dos de estos y los he estado ejecutando como servidores y cámaras ipcam.

Empecé a usar qtadb, que funcionó en mi teléfono a pesar de tener la pantalla rota. Instalé droid VNC Server beta usando el administrador de archivos en qtadb. Agarré el manifiesto de la aplicación:

<?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>

y probé varias cosas para iniciar y ejecutar el servicio usando la consola en qtadb. He intentado ejecutar:

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

etc....

Pruebo cada vez mediante NMAPing la dirección IP de mi dispositivo, no aparecen nuevos puertos. (No tengo un cortafuegos)

Pero en un teléfono que funciona, no se inicia cuando ejecuta la aplicación; comienza cuando presionas el botón ejecutar. Entonces, ¿cómo presiono el botón de ejecución con una pantalla rota?

Solo necesito que se ejecute el servidor vnc para poder hacer algunas cosas de configuración para ejecutar Debian y mi servidor de video en él.

Respuestas (4)

Úselo adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityfuera del shell y se iniciará el servidor VNC.

Esta respuesta fue sugerida como una edición por un usuario anónimo, pero debería ser independiente.


Primero debe ubicar el archivo ejecutable droidvncserver en su dispositivo. En un Nexus S está en este directorio:

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

Luego, debe configurar la ejecución directamente en el archivo ejecutable (es una subutilidad de UNIX) desde la PC usando adb.exe. En una ventana de línea de comando (desde la carpeta SDK de Android correspondiente) puede escribir:

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

(esto debe hacerse solo una vez, para obtener más detalles sobre el comando chmod, escriba man chmod en google)

Luego podrá iniciar el servidor vnc directamente desde su PC usando adb.exe:

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

Además, para conectar su VncViewer usando el tipo de cable USB en otra ventana de línea de comando:

adb.exe forward tcp:5901 tcp:5901

¡Vysor es la respuesta! Es una aplicación de Chrome con un servidor VNC incorporado que se inicia automáticamente. Incluso funciona en Android 6+. Encuéntralo aquí .

adb shell
cd /data/data/org.onaips.vnc/files
chmod 766 androidvncserver
androidvncserver
¡Sin explicaciones, nada! ¿Le importaría elaborar más sobre esto para el beneficio del usuario final que lee esto?
Tendrás que hacerlo adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityprimero.