
多くのAndroid愛好家は、TWRPやClockworkModなどのカスタムリカバリを使用して、ROMやModのフラッシュ、完全なデバイスバックアップの取得と復元、さらにはフル機能のAROMAファイルマネージャーを使用したファイルの管理を行っています。 ほとんどのユーザーは実際にはリカバリモードでスクリーンショットを撮る必要はありませんが、私たちブロガー、カスタムリカバリとAROMAベースのアプリの開発者、およびリカバリテーマの設計者は、レビューや作業を紹介するためにこの機能を頻繁に必要とします。 以下では、実行中のカスタムリカバリに関係なく、リカバリモードで起動しているときにAndroidデバイスのスクリーンショットを簡単に撮るプロセスについて説明します。
通常Androidを起動している場合とは異なり、標準の音量小ボタンと電源ボタンの組み合わせは、リカバリ時にスクリーンショットをスナップするためには機能しません。 以前は、Android SDKのDDMSツールはこの目的のために問題なく機能していましたが、過去数回の更新以降、そうではなくなりました。
私がこれまでに知っていた唯一の実用的な解決策は、生のフレームバッファーデータを手動で取得し、ffmpegコマンドラインツールを使用して処理して必要な画像を取得することでした。 ただし、このソリューションには重大な注意事項があります。デバイスやリカバリごとにフレームバッファーに異なるピクセル形式が使用されるため、すべてのAndroidデバイスに対応する単一のユニバーサルコマンドではありません。また、デバイスのネイティブ解像度を考慮してコマンドを調整する必要があります。生の画像のストライドファクター。 私は個人的に、リカバリのスクリーンショットを含むガイドのいくつかを書くときに、いくつかのデバイスのこれらのパラメータを理解しようと何時間も費やすという悪夢を経験してきました。
私たちがこれから見ようとしているのは、XDAメンバーmakers_markによる素晴らしい小さなツールであり、このような複雑な問題をすべてバックグラウンドで維持しながら、仕事をこなしてくれます。
MeetRecoveryのスクリーンショット
リカバリスクリーンショットは、ADBとffmpegを利用してデバイスから生のフレームバッファーをプルし、それに応じて処理してPNG形式のスクリーンショットを表示するスクリプト(この記事の執筆時点ではWindowsでのみ使用可能)です。
リカバリスクリーンショットのスナップを開始する前に、デバイスのツールを構成する必要があります。 それでは、始めましょう。
設定事項
続行する前に、デバイスをリカバリモードで再起動し、USBケーブルを介してコンピュータに接続し、デバイスに必要なドライバをインストールしたことを確認してください。
リカバリスクリーンショットをダウンロードし、ダウンロードしたZIPファイルの内容をコンピュータの都合のよい場所に抽出します。 次に、フォルダ内のRUNrs.batファイルを使用してツールを起動します。 スクリプトは、次のオプションを表示します。
最初のオプションを選択します。つまり、1を押して構成設定を行います。次に、デバイスの画面サイズをピクセル単位で入力するよう求められます。 短い方の寸法を幅として入力し、長い方の寸法を高さとして入力してください。
リカバリスクリーンショットは、デバイスからフレームバッファーをプルし、ffmpegを使用していくつかのピクセル形式で処理し、処理されたPNGファイルをツールを抽出したフォルダー内の「Pixel_formats」フォルダーに配置します。
次に、Pixel_formatsフォルダーに移動し、それらすべての画像を確認します。 あなたはそれらのほとんどがおかしいように見えることに気付くでしょう、それは完全に正常です。 デバイスとは異なるピクセル形式を使用して処理されました。 ここで探す必要があるのは、正しく見える画像であり、その名前(ピクセル形式の名前)をメモし、任意のキーを押して続行します。
フォルダ内に正しい画像が見つかった場合は、先に進み、1を押して設定を完了します。 今回は運が悪かった場合は、2を押すだけで、ツールはさらに多くの、あまり一般的に使用されていない形式を試してみます。 その場合は、同じフォルダで何十もの新しい画像が追加されているかどうかをもう一度確認し、正しい画像が見つかったらその名前をメモしてください。
正しいピクセル形式を見つけたら、次の画面で、正しいファイルの名前(.PNG拡張子なし)に表示されているとおりに入力します。 たとえば、Nexus 5を使用したテストでは、正しい画像はrgb0.pngであったため、正しいピクセル形式はrgb0でした。
デバイスに正しいピクセル形式を入力してEnterキーを押すと、構成が完了します。次に、これらのリカバリスクリーンショットのスナップを開始します。 設定が保存され、再度起動するときに同じデバイスのスクリプトを構成する必要がなくなります。
リカバリでスクリーンショットをキャプチャする
初期構成が完了すると、ツールを起動するたびに次のオプションが表示されます。
ここで混乱しているように見えるかもしれませんが、フレームバッファを取得するための3つのオプションがあります。 Androidのダブルフレームバッファシステムがどのように機能するかを説明することはこのガイドの範囲を超えており、探している画像はいずれかのフレームバッファに含まれている可能性があるため、毎回3番目のオプションを選択することをお勧めします。両方のフレームバッファ。 3を押すだけで、RecoveryScreenshotが両方のフレームバッファのプルと処理を開始します。
結果として処理された画像ファイルは、スクリプトのメインフォルダー内のサブフォルダーに配置され、現在の日付に基づいて名前が付けられます。 内部の画像には、現在の時刻とフレームバッファ(上または下)に基づいて名前が付けられます。
別のデバイスのスクリーンショットをキャプチャしようとすると、ツールを再度構成する必要がある場合があることに注意してください。 これを行うには、メイン画面で4を押して設定をリセットし、最初からやり直します。 5番目のオプション、つまり手動モードでは、デバイスをリカバリモードで接続する必要はなく、手動で設定を指定し、生の画像ファイルをソースとして処理するために使用できます。
いくつかの結果
スクリプトを使用してリカバリモードでキャプチャされたスクリーンショットを次に示します。 1つ目はTWRPリカバリのホーム画面で、2つ目は点滅する進行状況を示し、3つ目はAROMAファイルマネージャーです。
繰り返しになりますが、カジュアルユーザーやほとんどのパワーユーザーでさえリカバリスクリーンショットをキャプチャする必要がないため、すべての人に適しているわけではありませんが、リカバリスクリーンショットは、以前は手動でフレームバッファをプルする手間をかけなければならなかった私のような人々にとって命の恩人であることがわかります。カスタムリカバリまたはAROMAスクリプトを確認する必要があるたびに、ffmpegコマンドを使用して生の画像を処理します。
XDA-Developersからリカバリスクリーンショットをダウンロードする