XPERIAはスクリーンショットが撮れない。
それはXPERIAに限らずAndroidの機種次第で撮れるものも撮れないものも。
どこまで実装するか、ってことなんですね。
で、策はないものかとぐぐってみたらしっかり作ってる方が。
きさらさん http://twitter.com/#!/sakira/ が「ScreenGrab」
http://sun.dhis.portside.net/~sakira/diary/?date=20110628#c00
というアプリケーションを公開していました。
ところがこの手のアプリにありがちのクセモノでAndroidマーケットに公開しにくいというのが惜しいところ。
しかし何故こういう機能をSonyEricssonは載せないんですかねぇ。(ちなみにdocomo SH-12Cではボタン操作で撮れる。)
せっかくなので、この機能のセットアップ方法を載せます。
Windowsでの方法。MS-DOSとLinux/UNIXをカジッてないとちょっとキツいかな。
ちょっとめんどうだけど一度セットアップしてしまえば撮るのは楽です。
[1] SO-02CのUSBデバッグをONに。
SO-02Cの設定画面から、設定>アプリケーション>開発>USBデバッグと進めてONにする。
[2] Android SDKのセットアップ
PCにAndroid SDK(アプリ開発キット)をAndroid developerからダウンロード&インストールする。Windowsならインストーラ付きを選ぶのがいいかも。
http://developer.android.com/sdk/index.html
インストールするときにPCにJavaがインストールされているかチェックされ必要であれば通知されるので「Java JRE(RuntimeEnvironment)」をインストール&セットアップする。
[3] SDK managerの起動
SDKのセットアップが終わるとSDK managerの起動に移るのでそのまま起動する。
必要なパッケージを聞かれるが必要なのは「Platform tools」だけとのことだか、今回使ったバージョンでは他のパッケージも連携しているとのことで結局全部のパッケージを選択、インストールする。(えらく時間かかる…。)
[4] コマンドパスの設定
SDKで追加されるコマンドへのパスが設定されないということなので追加する。
1.マイコンピュータの「プロパティ」を開く
2.「詳細設定」タブを開く
3.「環境変数」を開く
4.「ユーザー環境変数」「新規」を開いて「変数名」に"PATH"、「変数値」に"C:\Program Files\Android\android-sdk-windows\tools;C:\Program Files\Android\android-sdk-windows\platform-tools;"を設定
[5] USBでSO-02Cを接続
SDK managerが起動して画面が出たらUSBケーブルでつなぐ。
場合によってはデバイスドライバがインストール&セットアップされるがPCにSO-02Cが認識され、SDK managerの画面にデバイスが接続されたことが表示されればOK。
[6] アプリケーションのインストールとバックグラウンド起動
さきらさんのページ http://sun.dhis.portside.net/~sakira/diary/?date=20110628#c00 から最新版をダウンロードして解凍する。解凍されたフォルダをC:\に置くと楽かも。
Windowsのコマンドプロンプトを開いてアプリケーションのフォルダへカレントディレクトリを移動する。
インストールコマンドを実行。2つ。
adb push grabfb /data/local/tmp/
adb install ScreenGrab.apk
次にシェルを起動する。
adb shell
プロンプトが"$"に変わったらアクセス権を付与
chmod 777 /data/local/tmp/grabfb
バックグラウンド起動
/data/local/tmp/grabfb &
その後「start listening」と表示されればOK
これでSO-02Cをケーブルから外して、SDKを終了。
[7] アプリケーション起動と設定
SO-02Cにアプリケーション「ScreenGrab」がインストールされているはずなので起動する。
アプリ画面に"little endian"のチェックがあるのでONにする。SO-02CではONのはず。OKを押す。
[8]スクリーンショットを撮る
撮りたいスクリーンで、ドロワーに「ScreenGrab」があるはずなので引き出してタッチ
数秒でスクリーンショットが撮られ、保存されたことの表示が出てOK。
[9] 再起動後
SO-02Cを何らかの理由で再起動するとバックグラウンドで動かした「grabfb」が起動されないのでPCにつないでシェルから起動する。
コマンドプロンプトから
adb shell
/data/local/tmp/grabfb &
の2つを実行
以上のことがさきらさんのページ
http://sun.dhis.portside.net/~sakira/diary/?date=20100901#p01
に詳しく書かれてます。
これでSO-02Cでもスクリーンショットがバッチリ撮れます。(・∀・)イイ!!
いやぁ、まさかこんな手順を踏むことになるとはびっくり。
さきらさん、ありがとうございます。
.._∧_∧__ Pon!!
(_( ・ω・)_() =○
/ つノ
し—J
コマンド撃てっ!