В куче вопросов на этом сайте я вижу ответы, подсказывающие нам выполнить adb shell
или adb logcat
и так далее.
Теперь я не совсем невежественный пользователь, поэтому я скачал и установил Termux и у меня есть приглашение оболочки, когда я могу набирать команды, но - откуда эта adb
штука? Я могу загрузить это как приложение? Похоже, он не установлен по умолчанию (на Redmi 3S, Android 6.0.1).
Кроме того, похоже, что это какой-то лифт разрешений. Это как su
? Если нет, то чем он отличается?
Ответы:
Около
adb
Короче говоря,
adb
(Android Debug Bridge) - это утилита, предназначенная для установки на компьютер, чтобы позволить ей получить оболочку на телефоне, который либо подключен через USB-кабель, либо в той же сети Wi-Fi.На некоторых устройствах под управлением Android Lollipop (5.1.1) и, возможно, более ранних версий ОС можно было обмануть устройство, чтобы оно подключилось к себе, поскольку
adb
клиент также входил в комплект поставки телефона. Это больше невозможно, потому что начиная с Android Marshmallow (6.0), Google удалилadb
двоичный файл с телефонов, чтобы уменьшить поверхность атаки.Тем не менее, можно вручную ввести
adb
клиента в телефон без необходимости компилировать двоичный файл самостоятельно. Обратитесь к вики-тегу adb для получения дополнительной информации об этой теме, а также об установке на компьютере и общих проблемах.Где его взять
Некоторое время назад, чтобы получить
adb
и другую утилиту под названиемfastboot
, нужно было загрузить полный Android SDK от Google, если они хотели получить официальный пакет. В настоящее время, как говорит XDA , появился небольшой официальный пакет . Включает в себя двоичные файлы для наиболее распространенных операционных систем.Как это устроено
adb
Клиент, установленный на компьютере, делает соединение с подключенным или иным образом обнаруживаемого телефона, с помощью внутреннего сервера. Затем пользователь сможет отправлять различные команды на сам телефон, который будет прослушиватьсяadbd
демоном, находящимся на телефоне.При использовании
adb
вы выдаете себя за пользователя с именемshell
(UID2000
). Этот пользователь особенный, поскольку он может предоставлять разрешения для приложений и получать доступ к большему количеству информации, чем простой пользователь. Этот факт, однако, не означает, чтоadb
это то же самоеsu
, что последний позволяет выдавать себя за любого пользователя.Более подробную информацию о
adb
его работе можно получить, ознакомившись с официальной документацией .Выдача команд с телефона
Большинство команд, которые могут быть переданы через,
adb
как правило, представляют собой служебные программы, которые предустановлены в телефоне.Чтобы получить к ним доступ, вам необходимо установить приложение эмулятора терминала на свой телефон (обратите внимание, что Termux особенный, так как он определяет свой собственный
PATH
, тем самым игнорируя двоичные файлы системы). Это, например, позволит вам вводить команды, например,logcat
прямо на вашем мобильном устройстве. Не забудьте опуститьadb
префикс, хотя.Стоит отметить, что, если у вас нет прав доступа root, диапазон команд, которые вы сможете выполнить, и информация, к которой вы сможете получить доступ, будет значительно меньше, чем при использовании
adb
, потому что вызывающий их UID будет само приложение, и приложения имеют меньше разрешений, чем UID2000
.источник
Android Debugging Bridge (ADB) .
Он отправляет команды через USB или Wi-Fi на устройство Android. Обычно он устанавливается на компьютер, подключенный к устройству. Клиент ADB также может быть запущен на самом устройстве, однако идея заключается в удаленной отладке устройства.
Он входит в комплект для разработки программного обеспечения Android
Затем вы можете использовать менеджер SDK для загрузки инструментов платформы.
Здесь также есть более прямая ссылка на тот случай, если вы просто заинтересованы в инструментах платформы.
Документация АБР
источник