Як зробити знімки екрана в режимі Recovery & AROMA на Android

Користувачі Android, які люблять експериментувати, часто використовують кастомні середовища відновлення, такі як TWRP або ClockworkMod. Це дозволяє їм встановлювати нові прошивки, модифікації, створювати резервні копії системи та навіть керувати файлами через AROMA файловий менеджер. Хоча для більшості звичайних користувачів потреба робити скріншоти в режимі відновлення відсутня, блогери, розробники кастомних відновлень, програм на базі AROMA та теми для відновлення часто потребують цього інструменту, щоб показати свою роботу. Далі ми розглянемо простий спосіб зробити скріншот екрану пристрою Android, коли він завантажується в режимі відновлення, незалежно від того, яке відновлення встановлено.

Звичайна комбінація клавіш для створення скріншоту (зменшення гучності + живлення) не працює в режимі відновлення, на відміну від звичайного завантаження Android. Раніше, інструмент DDMS з Android SDK працював для цього, але після оновлень його використання стало неможливим.

Єдиним ефективним рішенням раніше було ручне захоплення необроблених даних з буфера кадру, а потім обробка їх за допомогою утиліти ffmpeg. Але це рішення має суттєвий недолік: воно не є універсальним для всіх Android пристроїв. Різні пристрої та відновлення використовують різні формати пікселів для буфера кадру, тому команду потрібно налаштовувати, враховуючи роздільну здатність пристрою та швидкість в необробленому зображенні. Я витрачав багато часу, щоб розібратися з цими параметрами для своїх пристроїв, коли писав інструкції з скріншотами.

Тепер розглянемо чудовий інструмент від розробника XDA під ніком makers_mark, який автоматизує процес, залишаючи всі складнощі позаду.

Інструмент “Скріншот відновлення”

Інструмент “Скріншот відновлення” – це скрипт (доступний тільки для Windows на момент написання), який використовує ADB і ffmpeg для вилучення необробленого буфера кадру з пристрою та його подальшої обробки для створення знімку екрана у форматі PNG.

Перед створенням скріншотів потрібно налаштувати інструмент для вашого пристрою. Перейдемо до налаштувань.

Налаштування

Переконайтеся, що ваш пристрій перезавантажено в режим відновлення, підключено до комп’ютера через USB-кабель і встановлено необхідні драйвери.

Завантажте інструмент “Скріншот відновлення” і розпакуйте його у зручне для вас місце. Запустіть скрипт за допомогою файлу RUNrs.bat. Інструмент надасть вам такі параметри:

Виберіть перший пункт, тобто “Make configuration”, натиснувши 1. Потім потрібно ввести розміри екрана вашого пристрою у пікселях. Зверніть увагу, що спочатку вводиться менший розмір (ширина), а потім більший (висота).

Далі, “Скріншот відновлення” отримає буфер кадрів з вашого пристрою та обробить його в різних форматах пікселів за допомогою ffmpeg. Результати будуть збережені у папці “Pixel_formats”, що знаходиться в каталозі, де розпаковано інструмент.

Перейдіть до папки “Pixel_formats” і перегляньте зображення. Більшість з них виглядатиме неправильно, це нормально, оскільки вони оброблені з використанням різних форматів. Вам потрібно знайти зображення, яке виглядає коректно, запам’ятати його назву (формат пікселя) і натиснути будь-яку клавішу для продовження.

Якщо ви знайшли правильне зображення, натисніть 1, щоб завершити налаштування. Якщо ні, натисніть 2, і інструмент випробує додаткові формати. Знову ж таки, знайдіть серед нових зображень правильне і запам’ятайте його назву.

Після того як ви знайшли правильний формат, введіть його в наступному вікні так, як він записаний у назві файлу (без розширення .PNG). Наприклад, при тестуванні з Nexus 5 правильним файлом був rgb0.png, отже правильний формат – rgb0.

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

Створення скріншотів у Recovery

Після завершення первинного налаштування, ви будете бачити наступні параметри при кожному запуску інструменту.

Може здатися заплутаним наявність трьох варіантів захоплення буфера кадрів. Пояснення роботи системи подвійного буфера кадрів Android виходить за рамки цієї інструкції, і потрібне вам зображення може бути в будь-якому з них. Тому варто завжди використовувати третій варіант – отримання обох буферів. Просто натисніть 3, і інструмент “Скріншот відновлення” почне отримувати і обробляти їх.

Отримані оброблені зображення будуть розміщені у підпапці всередині основної папки скрипта і матимуть імена на основі поточної дати. Зображення всередині папки будуть названі на основі поточного часу та буфера кадру (верхнього або нижнього).

Зауважте, що при спробі зробити скріншоти іншого пристрою вам потрібно буде заново налаштувати інструмент. Щоб це зробити, натисніть 4 на головному екрані, щоб скинути налаштування і почати з початку. П’ятий варіант, “ручний режим”, не потребує підключення пристрою в режимі відновлення, і дозволяє вручну ввести налаштування та обробити будь-який необроблений файл зображення.

Приклади результатів

Ось кілька прикладів скріншотів зроблені в режимі відновлення за допомогою цього скрипта. Перший – головний екран TWRP, другий показує прогрес прошивки, а третій – файловий менеджер AROMA.

Хоча це може бути не потрібним для всіх, оскільки звичайним користувачам і багатьом досвідченим не потрібно робити скріншоти в режимі відновлення, “Скріншот відновлення” стане у нагоді тим, хто раніше мучився з ручним вилученням буферів кадрів і обробкою їх у ffmpeg, коли потрібно було показати якийсь кастомний скрипт відновлення або AROMA.

Завантажити “Скріншот відновлення” з XDA-Developers