Czy mogę włączyć debugowanie USB za pomocą adb?

17

Posiadam Samsunga Galaxy S3, wyświetlacz jest zepsuty, a debugowanie USB również wyłączone.

Jak mogę to włączyć za pomocą ./adbpoleceń? Zrobiłem już te kroki:

  • data/data/com.android.providers.settings/databases/settings.dbzmieniono adb_enabledwartość z 0 na 1.
  • Edytowane również build.propw /system.

Po wykonaniu tego wszystkiego telefon wydaje się zepsuty, nie włącza się. Wszystko, co chcę zrobić, to włączyć debugowanie USB i podłączyć go do Vysor (beta), aby móc sterować nim na moim komputerze.

TheOnlyAnil
źródło
1
Witamy! Dobre pytanie. +1. Dlaczego jednak chcesz zdalnie sterować telefonem?
unforgettableidWspiera
Dzięki ... Ponieważ ekran jest zepsuty i chcę w nim przeglądać dane. Chociaż wymyśliłem to zeszłej nocy ... :)
TheOnlyAnil
Właściwym sposobem włączenia debugowania USB byłoby rozpakowanie boot.img, edycja init.rc (włączenie adb, następnie wyłączenie RSA verificaton), przepakowanie boot.img i boot boot.img bez flashowania. Po potwierdzeniu, że edycja działa, a następnie flash boot.img na urządzenie.
HasH_BrowN

Odpowiedzi:

12

Mam to do pracy :)

UWAGA : Wymaga to odblokowanego programu ładującego.

  • Podłącz urządzenie do komputera Mac lub PC recovery mode. (Musiałem zmapować proces w mojej głowie, gdy ekran był zepsuty).
  • Teraz otwórz terminal / CMD w komputerze i przejdź do platform-tools/. wpisz i wprowadź, ./adb devicesaby sprawdzić, czy urządzenie jest podłączone w trybie odzyskiwania.
  • Teraz wpisz ./adb shell mount datai, ./adb shell mount systemaby zamontować odpowiednie katalogi.
  • Pobierz persist.sys.usb.configplik do swojego systemu za pomocą./adb pull /data/property/persist.sys.usb.config /Your directory
  • Teraz otwórz ten plik w edytorze tekstów, edytuj go mtp,adbi zapisz.
  • Teraz wsuń plik z powrotem do urządzenia; ./adb push /your-directory/persist.sys.usb.config /data/property
  • Pobierz plik build.prop; ./adb pull /system/build.prop /your-directory
  • Dodaj te linie:

    persist.service.adb.enable = 1                                                    
    persist.service.debuggable = 1
    persist.sys.usb.config = mtp, adb
  • Wciśnij build.prop z powrotem do urządzenia; ./adb push /your-dir/build.prop /system/

W ten sposób włączyłeś debugowanie USB na swoim urządzeniu. Ale nadal nie możesz się połączyć. Dlaczego? Ponieważ prosi o weryfikację RSA. Jeśli możesz wyświetlić ekran, możesz z łatwością dotknąć, YESaby autoryzować urządzenie. Obecnie próbuję to ominąć. Chcę bardzo ożywić mój martwy telefon. Jeśli znasz jak to zrobić, udostępnij :)

TheOnlyAnil
źródło
Czy korzystasz z niestandardowego odzyskiwania?
Firelord
Nie. Odzyskiwanie zapasów.
TheOnlyAnil
1
O części potwierdzenia RSA przez użytkownika, jeśli jesteś uruchomiony w systemie operacyjnym Android i jakoś zostanie potwierdzone, że ekran wyświetla okno dialogowe z potwierdzeniem, możesz bardzo dobrze użyć, adb shell input keyeventaby wybrać TAK. Zobacz Keyevent tutaj . To strzał w ciemność, ale może warto strzelać.
Firelord
@Firelord Próbowałem to zrobić. Ale powiedział błąd autoryzacji. Wygląda na to, że najpierw muszę to autoryzować, a potem zrobić cokolwiek ...
TheOnlyAnil
1
Ahh! Przepraszamy za sugerowanie czegoś, co nie działałoby. Co ja sobie myślałem? Jeśli dostęp ADB nie jest autoryzowany, żaden sposób nie adb shell inputdziałałby. Jeszcze raz przepraszam! Zobaczę, czy jest jakiś sposób na ominięcie autoryzacji.
Firelord
4

Jeśli chodzi o weryfikację RSA, którą poprosiłeś o obejście, nie wiem, czy zadziała w twoim urządzeniu, ale zadziałało w moim małym eksperymencie. W Lollipop klucze ADB (po autoryzacji) są zapisywane w /data/misc/adb/adb_keys. Twój klucz prywatny jest zapisany na komputerze. W systemie Linux lokalizacja katalogu to $HOME/.android/. W systemie Windows zwykle oznacza to %USERPROFILE%\.android, ale C:\Windows\System32\config\systemprofile\.androidw niektórych przypadkach klucze mogą się skończyć . ( Źródło )

Istnieje metoda opisana tutaj przez ashoke, która może pomóc w ominięciu autoryzacji.

Jednak w moim Lollipop metoda jest różna. Zauważyłem, że w mojej głównej i dodatkowej pamięci ROM Lollipop adb_keysfaktycznie miał ten sam klucz. Wszystko, co zrobiłem, to odwołanie autoryzacji z dodatkowej pamięci ROM (plik usunięty automatycznie), odłączenie urządzenia od komputera, skopiowanie adb_keysz podstawowej pamięci ROM do dodatkowej pamięci ROM, podłączenie urządzenia do komputera i voila! Nie zostałem poproszony o takie upoważnienie. Dokładnie sprawdziłem autoryzację adb devicesi wszystko było w porządku.

Najpierw wypróbuj połączoną odpowiedź. Autoryzuj inny telefon z Androidem, skopiuj jego klucze do urządzenia z trybu odzyskiwania i sprawdź, czy działa.

Firelord
źródło
Hej dzięki. Przeniesiłem klucze adb_keys z notatki 2 do S3 i zadziałało :)
TheOnlyAnil
To są niezbędne informacje, aby zaakceptowana odpowiedź była poprawna. Dobra robota. +1
HasH_BrowN
2
Dla osób korzystających z systemu operacyjnego Unix adb push ~/.android/adbkey.pub /data/misc/adb/adb_keysdziała niezawodnie.
Chris Olin
@ChrisOlin: dziękuję za wkład. Ale przypuszczam, że adb powinien działać w trybie root (adb root), w przeciwnym razie użytkownik nie będzie mógł bezpośrednio umieścić pliku w katalogu / data / misc /. Poprawny?
Firelord
Niezupełnie, ale zadajesz dobre pytanie. Jeśli próbujesz włączyć debugowanie USB przez ADB, musisz uruchomić system w celu odzyskania, aby to zrobić. Powłoki odzyskiwania (najmniej z TWRP) domyślnie rootują. Jeśli nie, to tak, użytkownik nie będzie mógł przekazywać bezpośrednio do / data / misc.
Chris Olin