Разбитый экран + Использование оболочки adb для запуска vnc-сервера

У меня HTC HD2 с полностью разбитым экраном, я пытался починить его с заменой экрана, но сломал ленточный кабель к экрану (упс) грустный день,

У меня их два, и я использую их как серверы и IP-камеры.

Я начал использовать qtadb, который работал на моем телефоне, несмотря на разбитый экран. Я установил бета-версию Droid VNC Server с помощью файлового менеджера на qtadb. Я схватил манифест приложения:

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

и я пробовал несколько вещей, чтобы запустить и запустить службу с помощью консоли на qtadb. Я пытался запустить:

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

так далее....

Я каждый раз проверяю IP-адрес моего устройства с помощью NMAP, новые порты не появляются. (у меня нет брандмауэра)

Но на рабочем телефоне оно не запускается при запуске приложения; он запускается, когда вы нажимаете кнопку запуска. Итак, как мне нажать кнопку запуска с разбитым экраном?

Мне просто нужно, чтобы сервер vnc работал, поэтому я могу сделать некоторые настройки для запуска на нем Debian и моего видеосервера.

Ответы (4)

Используйте adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityвне оболочки, и сервер VNC запустится.

Этот ответ был предложен как редактирование анонимным пользователем, но должен стоять сам по себе.


Сначала вам нужно найти исполняемый файл droidvncserver на вашем устройстве. На Nexus S он находится в этом каталоге:

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

Затем вы должны установить право на выполнение исполняемого файла (это подутилита UNIX) с ПК с помощью adb.exe. В окне командной строки (из соответствующей папки Android SDK) вы можете ввести:

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

(это нужно сделать только один раз, для получения дополнительной информации о команде chmod введите man chmod в Google)

После этого вы сможете запускать vnc-сервер прямо с вашего ПК с помощью adb.exe:

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

Дополнительно для подключения VncViewer с помощью USB-кабеля введите в другом окне командной строки:

adb.exe forward tcp:5901 tcp:5901

Высор - это ответ! Это приложение Chrome со встроенным сервером VNC, который запускается автоматически. Он работает даже на Android 6+. Найдите его здесь .

adb shell
cd /data/data/org.onaips.vnc/files
chmod 766 androidvncserver
androidvncserver
Никаких объяснений, ничего! Хотите подробнее рассказать об этом для конечного пользователя, читающего это?
Вам нужно будет сделать adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivityсначала.