Android4.0 からは OS がスクリーンショット機能をサポートしました。しかし、それ以前の Android では、次のような不便な撮影方法しかありませんでした。
  • AndroidSDK の DDMS のキャプチャ機能
  • AndroidSDK の adb shell から起動したプロセスを介してフレームバッファにアクセスし、Android アプリから画像を作成
  • root化した Android 端末のフレームバッファから画像を作成
どれも一度はPCにUSB接続する必要があり、また、Android の開発環境をPCに入れる必要があり、一般のユーザには敷居が高い画面キャプチャ方法しかありません。

そこで、ここでは、「root化も adb も不要な方法を紹介します。」と言いたいところなのですが、おそらく無理です。root 化不要でフレームバッファにアクセス可能な端末はいくつかあるらしいのですが、調べた限りでは、大抵の端末ではフレームバッファにアクセスするために、root権限かadb権限が必須となります。

問題の解決にはなってませんが、先人の轍を踏むという意味を込めて、今回はフレームバッファのデータを Bitmap 画像化するプログラムをC言語で書いてみました。


続きを読む