Программист – Работа с Android через ADB (страница 3)
6. Просмотр логов: $ adb logcat * Вывод логов в реальном времени: bash $ adb logcat * Сохранение логов в файл: bash $ adb logcat > logs.txt * Фильтрация логов по тегу (например, «MyApp»): bash $ adb logcat MyApp:V *:S
7. Управление сервером ADB * Перезапуск сервера (полезно при проблемах с подключением): bash $ adb kill-server $ adb start-server
Практические примеры
Пример 1. Полная установка и проверка 1. Проверьте подключение: bash $ adb devices 2. Установите приложение: bash $ adb install app-debug.apk 3. Убедитесь, что оно появилось: bash $ adb shell pm list packages | grep debug
Пример 2. Резервное копирование файла 1. Скопируйте важный файл с телефона на компьютер: bash $ adb pull /sdcard/important.doc ./backup/ 2. Проверьте, что файл скопирован: bash $ ls ./backup/
Пример 3. Диагностика проблемы 1. Запустите логирование: bash $ adb logcat > error_log.txt 2. Воспроизведите проблему на устройстве. 3. Остановите логирование (нажмите Ctrl + C). 4. Откройте error_log.txt и найдите строки с ошибками (например, FATAL EXCEPTION).
Важные замечания
• Пути файлов. В Linux/macOS используйте /sdcard/, в Windows — \sdcard\.
• Права доступа. Некоторые команды (удаление системных приложений, изменение системных файлов) требуют root‑прав. Без них вы получите ошибку Permission denied.
• Флаги установки. Используйте -r для переустановки, -t для тестовых сборок. Полный список флагов — $ adb install --help.
• Остановка команд. Чтобы остановить вывод логов (logcat) или другую длительную операцию, нажмите Ctrl + C.
• Проверка ошибок. Если команда не выполняется, проверьте:
• • подключение устройства ($ adb devices);
• • правильность пути к файлам;
• • наличие прав доступа.
Вывод
Вы освоили базовые команды ADB — теперь можете: * проверять подключение устройства; * перезагружать его в разные режимы; * устанавливать и удалять приложения; * передавать файлы между компьютером и телефоном; * просматривать системные логи для диагностики.
В следующей главе мы углубимся в работу с файлами и приложениями: научимся управлять разрешениями, делать резервные копии и использовать продвинутые возможности ADB.
Глава 4. Работа с файлами и приложениями: продвинутые возможности ADB
В этой главе мы углубимся в работу с файлами и приложениями через ADB: разберём расширенные опции команд push/pull, управление разрешениями, резервное копирование и другие полезные функции.
1. Расширенная работа с файлами
Копирование нескольких файлов
Используйте подстановочные знаки (*) для копирования групп файлов:
$ adb push ~/images/*.jpg /sdcard/Photos/
Эта команда скопирует все файлы с расширением .jpg из папки images на компьютере в папку Photos на устройстве.
Рекурсивное копирование папок
Флаг -r позволяет копировать целые папки со всем содержимым:
$ adb push -r ~/my_folder /sdcard/
Сохранение временных меток
Чтобы сохранить дату и время создания файлов, используйте флаг -p:
$ adb push -p document.pdf /sdcard/Docs/
Мониторинг прогресса
Для отслеживания процесса копирования больших файлов используйте флаг -l:
$ adb push -l large_video.mp4 /sdcard/Movies/
2. Управление приложениями
Список установленных приложений
Выведите полный список пакетов:
$ adb shell pm list packages
Отфильтруйте по имени (Linux/macOS):
$ adb shell pm list packages | grep google
Отфильтруйте по имени (Windows):
$ adb shell pm list packages | findstr google
Информация о приложении
Получите подробную информацию о пакете:
$ adb shell dumpsys package com.example.app
Очистка данных приложения
Удалите кэш и данные приложения (аналог «Очистить данные» в настройках):
$ adb shell pm clear com.example.app
Управление разрешениями
Выдайте разрешение:
$ adb shell pm grant com.example.app android.permission.CAMERA
Отозовите разрешение:
$ adb shell pm revoke com.example.app android.permission.ACCESS_FINE_LOCATION
Полный список разрешений можно найти в документации Android.
3. Резервное копирование через ADB
Создание бэкапа
Сохраните приложения и данные:
$ adb backup -apk -shared -all -f backup.ab
Параметры: * -apk — включить APK‑файлы приложений; * -shared — скопировать данные с SD‑карты; * -all — сохранить все приложения; * -f backup.ab — указать имя файла бэкапа.
Восстановление из бэкапа
$ adb restore backup.ab
Бэкап конкретного приложения
$ adb backup -f app_backup.ab com.example.app
4. Продвинутое управление файлами
Удаление файлов и папок на устройстве