城です
> 画面キャプチャは,フレームバッファデバイス"/dev/graphics/fb"を使用して,ここから画像イメージをキャプチャします。
> このデバイスの実態はRAM上のビデオRAMです。
> このデバイスにアクセスするには,ルート権限必要です。
graphics グループでreadできます。
shell ユーザは graphics グループです。
> アプリケーションプログラムは,ルート権限を取得できないので,画面をキャプチャすることはできません。
> ddmsでキャプチャを行う部分はルート権限で稼働します。
実機では、shell ユーザです。
エミュレータ上ですと、root です。
> 1. 実機のキャプチャ
> アプリケーションがユーザ権限をとることができませんので,フレームバッファにアクセスできません。
> したがって,アプリでのキャプチャは困難です。
'Android ScreenGrab' で google検索していただくと、
root なしで実現されている方のページが見つかります。
fbを読み込むプロセスを、shell権限で実行して、
JNI経由で取得しています。
USBで繋いで、adb の shell から 起動してあげる必要があります。
パッと見めんどくさそうですが、
一連の動作をバッチ処理等でワンクリックでできるようにすれば、
一般のユーザでの敷居も下がり、いいかな。
城