Можно ли включить отладку по USB с помощью adb?

17

У меня Samsung Galaxy S3, дисплей сломан, отладка по USB отключена.

Как я могу включить его с помощью ./adbкоманд? Я уже сделал эти шаги:

  • data/data/com.android.providers.settings/databases/settings.dbизменил adb_enabledзначение с 0 на 1.
  • Также отредактировано build.propв /system.

После всего этого телефон кажется кирпичным, не включается. Все, что я хочу сделать, это включить отладку по USB и подключить ее к Vysor (бета), чтобы я мог контролировать ее на своем компьютере.

TheOnlyAnil
источник
1
Добро пожаловать! Хороший вопрос. +1. Почему вы хотите удаленно управлять телефоном?
незабываемыйПоддержкаMonica
Спасибо ... Потому что экран сломан, и я хочу просмотреть данные в нем. Хотя я понял это вчера вечером ... :)
TheOnlyAnil
Правильный способ включения отладки по USB - распаковать boot.img, отредактировать init.rc (включить adb, затем отключить проверку RSA), перепаковать boot.img и загрузить boot.img без перепрошивки. Как только редактирование подтвердится, запустите на устройство флэш-файл boot.img.
HasH_BrowN

Ответы:

12

Я получил это на работу :)

ПРИМЕЧАНИЕ . Для этого требуется разблокированный загрузчик.

  • Подключите устройство к Mac или ПК в recovery mode. (Я должен был отобразить процесс в моем уме, поскольку экран был сломан).
  • Теперь откройте терминал / CMD в компьютере и перейдите к platform-tools/. введите и введите, ./adb devicesчтобы проверить, подключено ли устройство в режиме восстановления.
  • Теперь введите ./adb shell mount dataи ./adb shell mount systemсмонтировать соответствующие каталоги.
  • Получить persist.sys.usb.configфайл в вашей системе, используя./adb pull /data/property/persist.sys.usb.config /Your directory
  • Теперь откройте этот файл в текстовом редакторе, отредактируйте его mtp,adbи сохраните.
  • Теперь вставьте файл обратно в устройство; ./adb push /your-directory/persist.sys.usb.config /data/property
  • Получить файл build.prop; ./adb pull /system/build.prop /your-directory
  • Добавьте эти строки:

    persist.service.adb.enable = 1                                                    
    persist.service.debuggable = 1
    persist.sys.usb.config = MTP, ADB
  • Вставьте build.prop обратно в устройство; ./adb push /your-dir/build.prop /system/

Таким образом, вы включили отладку по USB на вашем устройстве. Но вы все еще не можете подключиться. Почему? Потому что это требует проверки RSA. Если бы вы могли просматривать ваш дисплей, то вы могли бы легко нажать на, YESчтобы авторизовать устройство. Я в настоящее время выясняю, чтобы обойти это. Я очень хочу оживить свой мертвый телефон. Если вы знаете какой-либо способ сделать это, пожалуйста, поделитесь :)

TheOnlyAnil
источник
Вы запускаете кастомное рекавери?
Повелитель огня
Нет. Восстановление сток это.
TheOnlyAnil
1
О части подтверждения RSA пользователем, если вы загрузились в ОС Android и каким-то образом подтвердили, что на экране отображается диалоговое окно для подтверждения, тогда вы вполне можете использовать adb shell input keyevent для выбора ДА. Смотрите Keyevent здесь . Это выстрел в темноте, но вполне возможно, стоит выстрелить.
Повелитель огня
@Firelord Я пытался сделать это. Но это говорит об ошибке авторизации. Похоже, я должен сначала авторизовать его, а потом делать что-либо ...
TheOnlyAnil
1
Ааа! Извините за предложение чего-то, что не будет работать. О чем я только думал? Если доступ ADB не авторизован, то adb shell inputработать не будет. Еще раз извините! Я посмотрю, есть ли способ как-то обойти авторизацию.
Повелитель огня
4

Что касается проверки RSA, которую вы попросили обойти, я не знаю, будет ли она работать на вашем устройстве, но это сработало в моем небольшом эксперименте. В Lollipop ключи ADB (после авторизации) сохраняются в /data/misc/adb/adb_keys. Ваш закрытый ключ сохраняется на компьютере. В Linux каталог находится $HOME/.android/. В Windows это обычно переводится %USERPROFILE%\.android, но C:\Windows\System32\config\systemprofile\.androidв некоторых случаях ключи могут оказаться в конце . ( Источник )

Существует способ , описанный здесь , по ashoke , которые могли бы помочь в обход авторизации.

Тем не менее, в моем Lollipop, метод меняется. Я заметил, что в моем основном и дополнительном Lollipop ROMadb_keys тот же ключ был на самом деле. Все, что я сделал, это отозвал авторизацию со вторичного ПЗУ (файл удален автоматически), отключил устройство от ПК, скопировал adb_keysиз Первичного ПЗУ во вторичное ПЗУ, подключил устройство к ПК и вуаля! Меня не спрашивали об этом разрешении. Я дважды проверил авторизацию, используя, adb devicesи все было хорошо.

Попробуйте сначала связанный ответ. Авторизуйте другой телефон Android, скопируйте его ключи на ваше устройство из режима восстановления и посмотрите, работает ли он.

Повелитель огня
источник
Эй спасибо Я перенес adb_keys из note 2 в S3, и это сработало :)
TheOnlyAnil
Это необходимая информация, чтобы сделать правильный ответ правильным. Молодец. +1
HasH_BrowN
2
Для тех, кто работает под управлением ОС Unix, adb push ~/.android/adbkey.pub /data/misc/adb/adb_keysработает надежно.
Крис Олин
@ChrisOlin: спасибо за ваш вклад. Но я полагаю, что adb должен работать в режиме root (adb root), иначе пользователь не сможет напрямую поместить файл в / data / misc /. Верный?
Повелитель огня
Не совсем, но вы задаете хороший вопрос. Если вы пытаетесь включить отладку по USB через ADB, для этого вам необходимо загрузиться в recovery. Оболочки восстановления (минимум с TWRP) по умолчанию root. Если этого не произойдет, то да, пользователь не сможет напрямую перейти в / data / misc.
Крис Олин