![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 14349 Регистрация: 12.10.2007 Из: Twilight Zone Пользователь №: 1 ![]() |
Android* ![]() В один прекрасный день ко мне в руки попал Nexus 4. В наших краях это редкость, поэтому хотелось бы использовать его как основной телефон. К сожалению, тач у него разбит. Одна из болячек всех современных смартфонов. Ну, решено было восстанавливать. Купил тач на ebay. Теперь ждать слоупочту россии месяцок-другой. Захотелось узнать о девайсе побольше, поработать с ним, пока посылка едет. Заодно проверить, всё ли работает. А то, может, камера или динамики тоже покрошились. В данной статье рассмотрим захват управления девайсом, если сломан тач. Сведения ![]() В ходе испытания будут использованы nexus 4, usb кабель, ubuntu как ось для работы, информация из интернета и мозги. Первым делом хочется отметить — телефон полностью в стоковом состоянии. Предыдущий владелец сделал полный сброс всех данных. После включения появляется экран Welcome с выбором языка. Управление устройством никак нельзя осуществить без дальнейшего вмешательства. Напомню, у nexus 4 нету OTG, поэтому мышь подключить к нему нельзя без специального кабеля с внешним питанием. Такого у меня нету, можно заказать на том же ebay, но опять ждать. Фигачим Первым делом я поставил CWM. Устанавливаем программы для работы с андроидами: sudo apt-get install android-tools-adb Это и fastboot, и adb. Поставить рекавери можно через fastboot: fastboot flash recovery recovery.img Естественно, выбрана notouch версия. Кстати, я еще разблокировал бутлоадер (команда fastboot oem unlock). Поменял прошивку на последнюю сразу. Уже и не помню, зачем. Для других телефонов нужно искать свои инструкции. У каких-то устройств можно поставить через встроенный рекавери, у каких-то есть специальные программы для прошивки. Загружаемся в CWM. Ищем пункт mounts and storage и монтируем system (или потом сделать это через adb — mount -o remount,rw /system). Пригодится. В консоле на компьютере пишем adb devices Выдает циферки и recovery. То, что и нужно! Отлично. В наши задачи входит: скипнуть welcome экран и включить usb отладку. Для этого скачиваем build.prop в текущую папку adb pull /system/build.prop ./ Открываем скачанный файл и заменяем строку: ro.setupwizard.enterprise_mode=1 на ro.setupwizard.enterprise_mode=0 ro.setupwizard.mode=DISABLED persist.service.adb.enable=1 persist.service.debuggable=1 persist.sys.usb.config=mtp,adb Если считаете нужным, можете подправить еще какие другие строки. Я вроде отключал экран блокировки для удобства, но сейчас уже лень искать какая строка отвечает. Если не сложно, уточните в комментах. Сохраняем и загружаем обратно. adb push ./build.prop /system/ Пропишем последние строки и в default.prop. На всякий случай. adb shell echo "persist.service.adb.enable=1" >> default.prop echo "persist.service.debuggable=1" >> default.prop echo "persist.sys.usb.config=mtp,adb" >> default.prop Попробуем перезагрузиться ![]() Эран сбросился. Однако adb devices показывает offline. Убиваем adb командой adb kill-server Делаем запрос adb devices Всё еще offline. Кажется, приплыли. Но нет! Дело в ключах. Ищем в домашней дирректории папку /.android Там должен был сгенерироваться файл adbkey.pub. Его нужно закинуть на девайс. Перезагружаемся в рекавери, монтируем data, выполняем cd ~/.android adb push ./adbkey.pub /data/misc/adb/adb_keys Перезагружаемся снова. Смотрим adb devices — всё есть! Далее я, например, прописал кнопкам на нампаде команды adb shell input keyevent XX ![]() Список кодов0 --> «KEYCODE_UNKNOWN» 1 --> «KEYCODE_MENU» 2 --> «KEYCODE_SOFT_RIGHT» 3 --> «KEYCODE_HOME» 4 --> «KEYCODE_BACK» 5 --> «KEYCODE_CALL» 6 --> «KEYCODE_ENDCALL» 7 --> «KEYCODE_0» 8 --> «KEYCODE_1» 9 --> «KEYCODE_2» 10 --> «KEYCODE_3» 11 --> «KEYCODE_4» 12 --> «KEYCODE_5» 13 --> «KEYCODE_6» 14 --> «KEYCODE_7» 15 --> «KEYCODE_8» 16 --> «KEYCODE_9» 17 --> «KEYCODE_STAR» 18 --> «KEYCODE_POUND» 19 --> «KEYCODE_DPAD_UP» 20 --> «KEYCODE_DPAD_DOWN» 21 --> «KEYCODE_DPAD_LEFT» 22 --> «KEYCODE_DPAD_RIGHT» 23 --> «KEYCODE_DPAD_CENTER» 24 --> «KEYCODE_VOLUME_UP» 25 --> «KEYCODE_VOLUME_DOWN» 26 --> «KEYCODE_POWER» 27 --> «KEYCODE_CAMERA» 28 --> «KEYCODE_CLEAR» 29 --> «KEYCODE_A» 30 --> «KEYCODE_B» 31 --> «KEYCODE_C» 32 --> «KEYCODE_D» 33 --> «KEYCODE_E» 34 --> «KEYCODE_F» 35 --> «KEYCODE_G» 36 --> «KEYCODE_H» 37 --> «KEYCODE_I» 38 --> «KEYCODE_J» 39 --> «KEYCODE_K» 40 --> «KEYCODE_L» 41 --> «KEYCODE_M» 42 --> «KEYCODE_N» 43 --> «KEYCODE_O» 44 --> «KEYCODE_P» 45 --> «KEYCODE_Q» 46 --> «KEYCODE_R» 47 --> «KEYCODE_S» 48 --> «KEYCODE_T» 49 --> «KEYCODE_U» 50 --> «KEYCODE_V» 51 --> «KEYCODE_W» 52 --> «KEYCODE_X» 53 --> «KEYCODE_Y» 54 --> «KEYCODE_Z» 55 --> «KEYCODE_COMMA» 56 --> «KEYCODE_PERIOD» 57 --> «KEYCODE_ALT_LEFT» 58 --> «KEYCODE_ALT_RIGHT» 59 --> «KEYCODE_SHIFT_LEFT» 60 --> «KEYCODE_SHIFT_RIGHT» 61 --> «KEYCODE_TAB» 62 --> «KEYCODE_SPACE» 63 --> «KEYCODE_SYM» 64 --> «KEYCODE_EXPLORER» 65 --> «KEYCODE_ENVELOPE» 66 --> «KEYCODE_ENTER» 67 --> «KEYCODE_DEL» 68 --> «KEYCODE_GRAVE» 69 --> «KEYCODE_MINUS» 70 --> «KEYCODE_EQUALS» 71 --> «KEYCODE_LEFT_BRACKET» 72 --> «KEYCODE_RIGHT_BRACKET» 73 --> «KEYCODE_BACKSLASH» 74 --> «KEYCODE_SEMICOLON» 75 --> «KEYCODE_APOSTROPHE» 76 --> «KEYCODE_SLASH» 77 --> «KEYCODE_AT» 78 --> «KEYCODE_NUM» 79 --> «KEYCODE_HEADSETHOOK» 80 --> «KEYCODE_FOCUS» 81 --> «KEYCODE_PLUS» 82 --> «KEYCODE_MENU» 83 --> «KEYCODE_NOTIFICATION» 84 --> «KEYCODE_SEARCH» 85 --> «TAG_LAST_KEYCODE» Хотя можно просто поставить VNC сервер (нужен рут). Я поставил через adb adb install vncfwq_1386321119498.apk adb shell am start -n com.schumi.vncs/com.schumi.vncs.VNC_serverActivity С нумпада поставил настройки, включить получилось командой тыка в зону off — adb shell input tap 400 300 (это координаты тыка) Ну и чтобы не лезть в настройки вайфай adb forward tcp:5901 tcp:5901 Запускаем vnc клиент, вводим localhost:5901 и делаем всё, что душе угодно. ![]() На этом всё. Прочного вам стекла, уважаемые! PS: думаю, всё тоже можно сделать с разбитым дисплеем. Нужно только делать скриншоты. Вроде как мануал. Original source: habrahabr.ru (comments, light). Читать дальше -------------------- |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 15.3.2025, 13:06 | |
|