Программист – Работа с Android через ADB (страница 4)
Удаление файла:
$ adb shell rm /sdcard/temp.txt
Рекурсивное удаление папки:
$ adb shell rm -r /sdcard/old_folder/
Переименование и перемещение
Переименуйте файл:
$ adb shell mv /sdcard/oldname.txt /sdcard/newname.txt
Переместите папку:
$ adb shell mv /sdcard/photos /sdcard/archive/
Создание папок
$ adb shell mkdir /sdcard/NewFolder
5. Практические сценарии
Сценарий 1. Массовая установка приложений
1. Поместите все APK‑файлы в одну папку на компьютере.
2. Выполните в цикле (Linux/macOS):
$ for file in *.apk; do adb install "$file"; done
3. Для Windows создайте .bat‑файл:
for %%f in (*.apk) do adb install "%%f"
Сценарий 2. Автоматизация бэкапа
Создайте скрипт для регулярного бэкапа:
#!/!/bin/bash
DATE=$(date +%Y%m%d)
adb backup -apk -shared -all -f backup_$DATE.ab
echo "Бэкап создан: backup_$DATE.ab"
Сценарий 3. Очистка устройства
Быстро удалите ненужные приложения:
$ adb uninstall com.junk.app1
$ adb uninstall com.junk.app2
Или используйте скрипт для массового удаления.
6. Важные предупреждения и советы
• Системные приложения. Удаление или изменение системных приложений может привести к нестабильной работе устройства. Используйте с осторожностью.
• Права доступа. Некоторые операции требуют root‑прав. Без них вы получите ошибку Permission denied.
• Бэкапы. Файлы бэкапов (*.ab) нечитаемы без ADB. Храните их в безопасном месте.
• Проверка путей. Всегда проверяйте пути к файлам перед выполнением операций удаления или перезаписи.
• Резервное копирование. Перед массовыми операциями (удаление, очистка) создайте бэкап важных данных.
Таблица полезных команд для работы с приложениями и файлами
Вывод
Теперь вы умеете: * копировать и управлять файлами на устройстве; * устанавливать, удалять и настраивать приложения через ADB; * создавать и восстанавливать резервные копии; * управлять разрешениями приложений; * автоматизировать рутинные задачи.
В следующей главе мы рассмотрим диагностику и отладку через ADB: анализ логов, скриншоты, запись экрана и другие инструменты для поиска и устранения проблем.
Глава 5. Диагностика и отладка через ADB: логи, скриншоты, запись экрана
В этой главе разберём инструменты диагностики через ADB — анализ логов, создание скриншотов и запись экрана. Эти функции незаменимы для разработчиков, тестировщиков и продвинутых пользователей при поиске и устранении проблем.
1. Анализ логов с помощью adb logcat
Команда $ adb logcat выводит системные логи Android в реальном времени — это главный инструмент для диагностики ошибок.
Базовые варианты использования:
• Вывод всех логов:
$ adb logcat
• Остановка вывода: нажмите Ctrl + C.
Фильтрация логов
Чтобы не утонуть в потоке информации, используйте фильтры: * По тегу (например, ActivityManager): bash $ adb logcat ActivityManager:I *:S * По приоритету (только ошибки и фатальные ошибки): bash $ adb logcat *:E
Уровни приоритета логов: * V — Verbose (подробный, самый низкий приоритет); * D — Debug (отладочный); * I — Info (информационный); * W — Warning (предупреждение); * E — Error (ошибка); * F — Fatal (критическая ошибка); * S — Silent (ничего не выводить).
Сохранение логов в файл * В реальном времени (до остановки): bash $ adb logcat > logs.txt * Дамп текущих логов (однократно): bash $ adb logcat -d > snapshot.txt * С ограничением по размеру (1 МБ): bash $ adb logcat -r 1024 -f logfile.txt
Очистка буфера логов:
$ adb logcat -c
2. Создание скриншотов экрана
Команда $ adb shell screencap делает снимок экрана устройства.
Пошаговая инструкция: 1. Сделайте скриншот: bash $ adb shell screencap /sdcard/screenshot.png 2. Скопируйте файл на компьютер: bash $ adb pull /sdcard/screenshot.png ./screenshots/ 3. При необходимости удалите файл с устройства: bash $ adb shell rm /sdcard/screenshot.png
Советы: * Проверяйте свободное место на устройстве перед созданием скриншота. * Используйте понятные имена файлов (например, screenshot_20240415_1430.png). * Формат PNG гарантирует высокое качество без потерь.
3. Запись видео с экрана
Команда $ adb shell screenrecord записывает видео с экрана устройства.
Базовая запись:
$ adb shell screenrecord /sdcard/video.mp4
Остановите запись нажатием Ctrl + C или дождитесь автоматического завершения через 3 минуты (лимит по умолчанию).
Продвинутые опции: * Ограничение по времени (30 секунд): bash $ adb shell screenrecord --time-limit 30 /sdcard/demo.mp4 * Указание разрешения (например, 1280×720): bash $ adb shell screenrecord --size 1280x720 /sdcard/video_hd.mp4 * Настройка битрейта (6 Мбит/с): bash $ adb shell screenrecord --bit-rate 6000000 /sdcard/high_quality.mp4 * Подробный вывод (для отладки): bash $ adb shell screenrecord --verbose /sdcard/verbose_record.mp4
Перенос видео на компьютер:
$ adb pull /sdcard/video.mp4 ./videos/