Как сделать фотосъемку из консоли?

Собственно, такой вот вопрос. Как сделать фотосъемку из камеры Android?

Даже конкретно под Linux я нашёл лишь одну команду с ffmpeg:

 ~ # ffmpeg -f video4linux2 -r 1 -i /dev/video0 -f image2 image.png -t 1

Но в моём случае она не работает даже из под Kali Nethunter. Java я не хочу принципиально, да и пишу я консольный Linux бинарник.

Нашёл библиотеку /system/lib/android.hardware.camera.common.so и ещё парочку с похожим названием. Но вот как к ним правильно слинковаться, как их вообще в коде использовать - мне неясно.

Как сделать фото из консоли, посредством Linux бинарников, в Android?


Ответы (1 шт):

Автор решения: Vadik

Если устройство подключено к компьютеру, то сделать это можно через adb.

adb shell "am start -a android.media.action.IMAGE_CAPTURE" # открыть камеру
adb shell "input keyevent KEYCODE_CAMERA" # сфотографировать

Эти же команды можно выполнить с самого устройства, например, через терминал Termux, но вводить команды нужно без префикса adb shell:

am start -a android.media.action.IMAGE_CAPTURE # открыть камеру
input keyevent KEYCODE_CAMERA # сфотографировать

Чтобы узнать больше про команду am (activity manager), наберите adb shell am или посмотрите в документации.

Посмотреть, какие есть еще есть KeyEvent можно здесь.

→ Ссылка