Écran cassé + Utilisation du shell adb pour exécuter le serveur vnc

8

J'ai un HTC HD2 avec un écran complètement cassé, j'ai essayé de le réparer avec un écran de remplacement mais j'ai cassé le câble ruban à l'écran (oups) triste jour,

J'en ai deux et je les ai utilisés comme serveurs et caméras ipcam.

J'ai commencé à utiliser qtadb, qui fonctionnait sur mon téléphone malgré un écran cassé. J'ai installé droid VNC Server beta en utilisant le gestionnaire de fichiers sur qtadb. J'ai attrapé le manifeste de l'application:

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

et j'ai essayé plusieurs choses pour démarrer et exécuter le service à l'aide de la console sur qtadb. J'ai essayé de courir:

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

Je teste chaque fois en NMAPant l'adresse IP de mon appareil, aucun nouveau port n'apparaît. (Je n'ai pas de pare-feu)

Mais sur un téléphone qui fonctionne, il ne démarre pas lorsque vous exécutez l'application; il démarre lorsque vous appuyez sur le bouton d'exécution. Alors, comment puis-je appuyer sur le bouton Exécuter avec un écran cassé?

J'ai juste besoin d'un serveur vnc pour que je puisse faire des choses de configuration pour exécuter debian et mon serveur vidéo dessus.

Levi De Haan
la source

Réponses:

4

Utilisez en adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivitydehors du shell et le serveur VNC démarrera.

Franc
la source
1

Cette réponse a été suggérée comme une modification par un utilisateur anonyme, mais devrait être autonome.


Vous devez d'abord localiser le fichier exécutable droidvncserver sur votre appareil. Sur un Nexus S, c'est dans ce répertoire:

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

Ensuite, vous devez définir le droit d'exécution sur le fichier exécutable (c'est une sous-utilité UNIX) à partir du PC en utilisant adb.exe. Dans une fenêtre de ligne de commande (à partir du dossier SDK Android approprié), vous pouvez taper:

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

(cela ne doit être fait qu'une seule fois, pour plus de détails sur le type de commande chmod man chmod dans google)

Ensuite, vous pourrez lancer le serveur vnc directement depuis votre PC en utilisant adb.exe:

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

De plus pour connecter votre VncViewer en utilisant le type de câble USB dans une autre fenêtre de ligne de commande:

adb.exe forward tcp:5901 tcp:5901
Matthew Read
la source
1

Vysor est la réponse! Il s'agit d'une application Chrome avec un serveur VNC intégré qui se lance automatiquement. Cela fonctionne même sur Android 6+. Trouvez-le ici .

Ken J
la source
0
adb shell
cd /data/data/org.onaips.vnc/files
chmod 766 androidvncserver
androidvncserver
JobiJoba
la source
2
Pas d'explications, rien! Voulez-vous en dire plus à ce sujet au profit de l'utilisateur final qui lit ceci?
t0mm13b
Vous devrez d' adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityabord le faire .