Как увеличить лимит времени для записи в формате ADB Android Kitkat
Я использовал функцию записи экрана ADB для записи видео моего приложения. Это очень удобно и полезно. Единственный вопрос, который я нашел, - это максимальный срок 3 минуты (180 секунд).
Есть ли способ или обходной путь или способ, которым мы можем увеличить этот срок?
Ответы
Ответ 1
В Windows мой трюк создает файл screenrecord.bat
и запускает его. В течение 9 минут:
adb shell screenrecord --bit-rate 8000000 /sdcard/sr1.mp4
adb shell screenrecord --bit-rate 8000000 /sdcard/sr2.mp4
adb shell screenrecord --bit-rate 8000000 /sdcard/sr3.mp4
Затем вы можете объединить файлы с любым программным обеспечением для редактирования видео.
Я знаю, что это хромое решение, но adb screenrecord
виноват в том, что он не позволяет увеличить длину видео...
Ответ 2
Я сталкиваюсь с той же проблемой.
Вот мое решение. Короче говоря, это можно решить, перекомпилировав источник android. Пациенты необходимы.
1, следуя инструкциям здесь https://source.android.com/source/initializing.html, чтобы инициализировать среду сборки.
2, Загрузите исходный код из git (возьмите около 1 часа с полосой пропускания 10 МБ).
3, измените path_to_working_directory/frameworks/av/cmds/screenrecord/screenrecord.cpp, изменив kMaxTimeLimitSec
на 7200 (означает 2 часа).
4, скомпилируйте андроид (возьмите около 2 часов с Core i5-2500k и 8G RAM)
5 Скопируйте файл path_to_working_directory/out/target/product/flo/system/bin/screenrecord в /system/bin в вашем телефоне Android (не забудьте сделать резервную копию исходного экрана в случае!)
Ответ 3
Альтернативное решение:
adb shell "screenrecord --time-limit 5 /sdcard/testRun1.mp4; screenrecord --time-limit 5 /sdcard/testRun2.mp4"
Обратите внимание на кавычки и полуточку. Команда оболочки выполняется как оболочка script на устройстве Android. Приведенная выше команда создавала бы два файла mp4 по 5 секунд каждый, один за другим.
В наших тестовых проектах Jenkins мы делаем шаг exec с такой командой:
adb shell "screenrecord /sdcard/test1.mp4; screenrecord /sdcard/test2.mp4; screenrecord /sdcard/test3.mp4" &
Амперсанд создает команду adb для продолжения оставшейся части теста script. Приведенная выше команда будет записывать до 9 минут.