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

8

Tengo un HTC HD2 con una pantalla completamente rota, intenté repararlo con una pantalla de reemplazo pero rompí el cable plano a la pantalla (¡Uy!) Triste día,

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

Empecé a usar qtadb, lo que funcionó en mi teléfono a pesar de una pantalla rota. Instalé droid VNC Server beta usando el administrador de archivos en qtadb. Tomé 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 he intentado varias cosas para iniciar y ejecutar el servicio usando la consola en qtadb. He intentado correr:

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 NMAP ingresando la dirección IP de mi dispositivo, no aparecen nuevos puertos. (No tengo un firewall)

Pero en un teléfono que funciona, no comienza cuando ejecuta la aplicación; comienza cuando presiona el botón Ejecutar. Entonces, ¿cómo presiono el botón Ejecutar 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.

Levi De Haan
fuente

Respuestas:

4

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

Franco
fuente
1

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 comandos (desde la carpeta apropiada del SDK de Android) 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 con 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
Matthew Read
fuente
1

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í .

Ken J
fuente
0
adb shell
cd /data/data/org.onaips.vnc/files
chmod 766 androidvncserver
androidvncserver
JobiJoba
fuente
2
¡Sin explicaciones, nada! ¿Le gustaría elaborar más sobre esto en beneficio del usuario final que lo lee?
t0mm13b
Tendrás que hacer adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityprimero.