こんにちは。matchanです。
今回はFire TV StickなどのFire TVシリーズで画面のスクリーンショットを取得する方法を自分の備忘録も兼ねて紹介していきます。
スクリーンショットは標準機能で取得できない
Fire TVシリーズにはスクリーンショットを取得する標準機能は備わっていません。。そのためアプリ開発・テストなどの目的で、開発者向けに提供されている機能を使ってスクリーンショットを取得することになります。
標準機能ではないため、今回紹介する方法ではFire TVデバイスのほかにPCが必要となります。
Fireデバイスでスクリーンショットを撮る方法 | Amazonアプリストアへの申請を参考に行っていきます。
ADB(Android Debug Bridge)とは
ADB(Android Debug Bridge)はAndroidデバイスとの通信を行い、デバイスを操作するためのコマンドツールです。
Androidデバイス?と思うかもしれませんが、Fire TV Stickなどに搭載されているFire TV OSはAndroidをベースとしています。そのためPCとFire TVシリーズを接続し、ADBのコマンドラインを使ってデバイス操作をすることができます。
スクリーンショットを取得するための事前準備
スクリーンショット取得の手順を紹介する前に、事前準備として以下を行っていきます。
- PCとFire TVデバイスを同じネットワークに参加させる
- Fire TVデバイスで「ADBデバッグ」を有効にする
- PCに「SDK Platform Tools」をダウンロード
- 環境変数「platform-tools」のパスを通す
- Fire TVデバイスのIPアドレスを確認
PCとFire TVデバイスを同じネットワークに接続しておく
今回紹介する方法でPCとFire TVデバイスを接続するために、お互いが同じネットワークに接続されている必要があります。
自宅でWi-Fi環境がある場合、PCとFire TVを同じWi-Fiに接続しておきましょう。
Fire TVデバイスで「ADBデバッグ」を有効にする
Fire TVデバイスでADBのコマンドを利用するためには、あらかじめFire TVデバイスにて「ADBデバッグ」を有効にする必要があります。
Fire TVデバイスで「設定」-「マイ Fire TV」-「開発者オプション」を開き、「ADBデバッグ」をオンにします。
「開発者オプション」が表示されない場合を含め、開発者オプションの表示方法は以下を参照をしてください。
-
【Fire TVシリーズ】設定の「開発者オプション」を表示する
Fire TVシリーズで画面のスクリーンショットを取得するた ...続きを見る
PCに「SDK Platform Tools」をダウンロード
ADBコマンドを使えるようにするために「SDK Platform Tools」をダウンロードします。
- SDK Platform-Tools リリースノートにアクセス。
- 画面下のダウンロードリンクから、OSに応じたものをダウンロード。今回はWindowsで紹介していきます。
- 「~利用規約に同意します。」にチェックを入れてダウンロード。
- ダウンロードしたzipファイルを選択し、右クリックして「すべて展開」をクリック。
- 展開先を任意に決めて「展開」をクリック。
- 展開先フォルダの中に「platform-tools」フォルダがあることを確認する。
環境変数に「platform-tools」のパスを通す
環境変数にダウンロードした「platform-tools」フォルダのパスを通します。
- 展開先のフォルダの中にある「platform-tools」フォルダを選択して「Shift」キーを押しながら右クリック。
「パスのコピー」をクリック。 - 「Win」キーと「pause」キーを同時に押し、システム画面を表示。「システムの詳細設定」をクリック。
- 「詳細設定」タブから「環境変数」をクリック。
- 「システム環境変数」から「Path」を選択し「編集」をクリック。
- 「新規」をクリック。
- 先ほどコピーしたパスを貼り付ける。最後が『\platform-tools\』フォルダで終わっていればOK。「OK」をクリックして画面を閉じる。
- 手順4の画面に戻ったら「OK」をボタンをクリック。設定画面を閉じる。
- 検索欄に『cmd』と入力し、表示された画面から「コマンドプロンプト」をクリック。
- コマンドプロンプト画面が表示されたら、『adb』と入力してEnterキーを押す。以下のようにずらーっと表示されればOK。
- 表示されない場合、再度手順1.~6を実施し、「\platform-tools\」フォルダが追加されていることを確認する。
Fire TVデバイスのIPアドレスを確認
PCから接続するために必要なFire TVデバイスのIPアドレスを確認します。
- Fire TVで「設定」→「マイFire TV」を選択。
- 「バージョン情報」を選択。
- 「ネットワーク」を選択し、右側に表示される「IPアドレス」を確認する。
ADBコマンドを使いFire TVのスクリーンショットを取得する
事前準備ができたら、以下の流れでスクショを取得していきます。
- ADBコマンドでFire TVに接続
- ADBコマンドでスクショ取得
Fire TVデバイスに接続
- コマンドプロンプトを表示する。
- 『adb connect (確認したIPアドレス)』と入力して「Enter」キーを押す。
例えばIPアドレスが192.168.3.2の場合は『adb connect 192.168.3.2』と入力する。
- 「connected to (IPアドレス)」と表示されればOK。
- 「failed to authenticate~」と表示されたら以降に進む。
- 「failed to authenticate~」と表示されたら、Fire TVデバイスの画面を確認する。
以下のように「USBデバッグを許可しますか?」と表示されていたら「このコンピューターを常に許可」にチェックを入れて「OK」を選択。
- 上記画面が表示されていない場合、PCとFire TVが同じネットワークに属しているか確認する。
- 再度手順2を実行し、「already connected ~」と表示されればOK。
スクリーンショットの取得コマンドを実行
Fire TVデバイスへ接続出来たら、いよいよスクリーンショットを取得していきます。
- コマンドプロントに『adb shell screencap -p /sdcard/filename.png』と入力して「Enter」キーを押す。
- 『filename』は任意の名前に変えてもOK。
- 引き続き『adb pull /sdcard/filename.png (転送先のパス)』と入力して「Enter」キーを押す。
- 転送先のパスは、パスの「¥」を「/」に置き換えて入力する。
- 例えばCドライブ直下に転送する場合は、転送先パスに『C:/』と入力。
- 例えばDドライブの「folder」フォルダ内に転送する場合は、転送先パスに『D:/folder』と入力。
- 「~ 1 file pulled, ~」と表示されればOK。
- 転送先パスに指定した場所にスクリーンショットfilename.pngがあればOK。
- 『adb shell adb shell screencap -p /sdcard/filename.png』コマンドで、スクリーンショットを取得し、Fire TVデバイス内に「filename.png」という名前で保存します。
- 『adb pull /sdcard/filename.png (転送先のパス)』コマンドで、Fire TVデバイスに保存したfilename.pngを転送先のパスへ転送します。
- pullコマンドではPCに転送しても、Fire TVデバイス内にfilename.pngファイルは残ったままです。削除するには次のコマンドを実行します。
『adb shell rm /sdcard/filename.png』
少し手順は長くなりましたが、↓このように無事、Fire TVデバイスのスクリーンショットを取得することができました。
以上、参考になれば幸いです。