Що це за утиліта `adb`, яку я постійно отримую поради?


10

У купі питань на цьому веб-сайті я бачу відповіді, які говорять нам про виконання adb shellабо adb logcatінше.

Тепер я не зовсім незрозумілий користувач, тому я завантажив і встановив Termux і маю підказку для оболонки, коли можу вводити команди, але - звідки ця adbріч? Завантажувати його як додаток? Здається, він не встановлений за замовчуванням (на Redmi 3S, Android 6.0.1).

Також здається, що це якийсь ліфт дозволів. Це як su? Якщо ні, то як це відрізняється?



@RahulGopi: Так, я просто думаю, що тут може бути коротка відповідь.
einpoklum

5
Це інструмент, описаний у нашій adb tag-wiki , із пов’язаними ресурсами. Я сказав вам, що раніше я здогадуюсь :) Пам'ятайте: у багатьох наших тегів є гідні вікі :) Також дивіться тут, на нашому веб-сайті: Що таке ADB і чому він використовується для? Як встановити його на свій пристрій?
Izzy

ADB використовується для підключення мишок і клавіатур впроваджених комп'ютерів.

Відповіді:


33

Про adb

Коротше кажучи, adb(Android Debug Bridge) - це утиліта, яку потрібно встановити на комп’ютер, щоб дозволити їй отримати оболонку на телефоні, який або підключений через USB-кабель, або в тій же мережі Wi-Fi.

На деяких пристроях під керуванням Android Lollipop (5.1.1) та, можливо, нижчих версіях ОС, можна було обманути пристрій підключитися до себе, оскільки adbклієнт також постачався в телефоні. Це вже неможливо, оскільки від Android Marshmallow (6.0) далі Google видалив adbбінарне з телефонів, щоб зменшити корисну поверхню атаки.

Однак, можливо, вручну ввести adbклієнта в телефон, не потрібно самостійно складати двійковий файл. Докладнішу інформацію про цю тему, а також про встановлення на комп’ютер та загальне усунення несправностей див. У вікі тегів adb .


Де його взяти

Деякий час тому, щоб отримати adbта іншу утиліту, яку зателефонували fastboot, довелося завантажити повний SDK для Android з Google, якщо вони хочуть офіційний пакет. На сьогоднішній день, як каже XDA , з'явився невеликий офіційний пакет . Він включає бінарні файли для найбільш поширених операційних систем.


Як це працює

adbКлієнт, встановлений на комп'ютері, робить з'єднання з підключеним або іншим чином виявленого телефону, за допомогою внутрішнього сервера. Потім користувач зможе надіслати на телефон самі різні команди, які будуть прослуховані adbd, демон, що знаходиться на телефоні.

Під час використання adbви представляєте себе за ім'я користувача shell(UID 2000). Цей користувач особливий тим, що він може надати доступ до додатків та отримати більше інформації, ніж простий користувач. Цей факт, однак, не означає, що adbце те саме, що su, оскільки останній дозволяє видавати себе за будь-якого користувача.

Більш детальну інформацію про adbта її роботу можна отримати, переглянувши офіційну документацію .


Видача команд з телефону

Більшість команд, які можна видавати через, adbяк правило, є утилітами, які попередньо встановлені в телефоні.

Для того, щоб отримати доступ до них, вам потрібно встановити на своєму телефоні додаток емулятора терміналів (зауважте, що Termux особливий тим, що він вказує своє PATH, тим самим ігноруючи системні бінарні файли). Наприклад, це дозволить видавати такі команди, як logcatбезпосередньо на мобільному пристрої. Не забудьте опустити adbпрефікс.

Варто зазначити, що якщо вам не вистачить кореневих дозволів, діапазон команд, які ви зможете виконати, та інформація, до якої ви зможете отримати доступ, буде значно меншою, ніж якщо ви користуєтесь adb, тому що UID, який викликає їх, буде сама програма та програми мають менші дозволи, ніж UID 2000.


Молодці! На жаль, я не можу подати два рази :) // Так, наші вікі занадто часто "невідомі кількості". Не можу вказати там досить часто. Але включення посилання в будь-яку відповідь, згадану в ньому, йде трохи далеко ІМХО :) Де вона підходить (як тут: "для детальної інформації ..."), хороша ідея. Не соромтеся продовжувати це - я тим часом продовжую коментарі щодо прибирання коментарів :)
Izzy

@Izzy Добре. Зачекаємо і подивимося, чи потрібна насправді спам-посилання.
Grimoire

Будь ласка, підкажіть, будь ласка.
iBug

@iBug Мені честь.
Grimoire

2

Мост налагодження Android (ADB) .

Він надсилає команди через USB або Wifi на андроїд-пристрій. Зазвичай він встановлюється на комп'ютері, підключеному до пристрою. Клієнт ADB також можна запускати на самому пристрої, проте ідея полягає у віддаленій налагодженні пристрою.

Він є частиною набору для розробки програмного забезпечення Android

Потім можна використовувати менеджер SDK для завантаження інструментів платформи.

Тут також є більш пряме посилання на випадок, якщо вас просто цікавлять інструменти платформи

Документація ADB


Зачекайте, якщо він не встановлений на пристрої, чому люди пропонують використовувати його в оболонках пристрою? наприклад, у наведених нами прикладах?
einpoklum

Це хороший момент. Можливо, правильніше сказати команду adb - це "клієнт", який підключається до пристрою Android. Android-пристрій також може мати клієнта на ньому, бо чому б ні. Але це щось на зразок запуску ssh localhost
jdwolf

Якщо чесно, документація все це добре пояснює: developer.android.com/studio/command-line/adb.html
jdwolf
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.