Tela quebrada + Usando o shell adb para executar o servidor vnc

8

Eu tenho um HTC HD2 com uma tela completamente quebrada, tentei repará-lo com uma tela de substituição, mas quebrei o cabo de fita no dia triste da tela (oops),

Eu tenho dois deles e os tenho executado como servidores e câmeras ipcam.

Comecei a usar qtadb, que funcionava no meu telefone apesar de uma tela quebrada. Instalei o droid VNC Server beta usando o gerenciador de arquivos no qtadb. Peguei o manifesto do aplicativo:

<?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 eu tentei várias coisas para iniciar e executar o serviço usando o console no qtadb. Eu tentei 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 ....

Eu testei cada vez NMAPing no endereço IP do meu dispositivo, nenhuma porta nova aparece. (Eu não tenho um firewall)

Mas em um telefone que funciona, ele não inicia quando você executa o aplicativo; começa quando você pressiona o botão de execução. Então, como eu pressiono o botão executar com uma tela quebrada?

Eu só preciso do servidor vnc para rodar, para que eu possa fazer algumas coisas de configuração para executar o debian e meu servidor de vídeo nele.

Levi De Haan
fonte

Respostas:

4

Use adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityfora do shell e o servidor VNC será iniciado.

Frank
fonte
1

Esta resposta foi sugerida como uma edição por um usuário anônimo, mas deve ser independente.


Primeiro você precisa localizar o arquivo executável droidvncserver no seu dispositivo. No Nexus S, está neste diretório:

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

Então você deve definir a execução diretamente no arquivo executável (é uma subutilidade do UNIX) do PC usando o adb.exe. Em uma janela da linha de comando (da pasta Android SDK apropriada), você pode digitar:

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

(isso deve ser feito apenas uma vez, para obter mais detalhes sobre o tipo de comando chmod man chmod no google)

Em seguida, você poderá iniciar o servidor vnc diretamente do seu PC usando adb.exe:

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

Além disso, conecte seu VncViewer usando o tipo de cabo USB em outra janela da linha de comando:

adb.exe forward tcp:5901 tcp:5901
Matthew Read
fonte
1

Vysor é a resposta! É um aplicativo Chrome com um servidor VNC embutido que é iniciado automaticamente. Até funciona no Android 6+. Encontre aqui .

Ken J
fonte
0
adb shell
cd /data/data/org.onaips.vnc/files
chmod 766 androidvncserver
androidvncserver
JobiJoba
fonte
2
Sem explicações, nada! Gostaria de elaborar mais sobre isso para o benefício do usuário final lendo isso?
t0mm13b
Você precisará fazer adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityprimeiro.