Androidで画面キャプチャを撮影する際、次のようなメッセージが表示され、画像を保存できないケースがあります。
スクリーンショット保存エラー スクリーンショットの作成はアプリまたは組織で許可されていません

スクリーンショット保存エラーのメッセージ例
またメッセージは出ない一方、スクリーンショットが真っ黒になり、何も写ってないケースがあります。

スクリーンショットが真っ黒になる例
この症状の特徴として、アプリ側でスクリーンショット撮影を禁止しているため、当該アプリ上ではどうやっても画面キャプチャを残すことができません。
本記事では、このようなスクリーンショット禁止を回避して、画像を保存する代替方法を解説します。
画面を残したいアプリがあれば、ぜひどうぞ。
スクリーンショット保存エラーを許可する方法
仮想Androidアプリを使えば、Androidスマホの中に、別のAndroidスマホを1台作ることが可能です。
この仕様を使えば、スクリーンショット禁止を回避できる可能性があります。
本記事では、
Virtual Masterという仮想Androidアプリを紹介します。
画面にしたがって初期設定を進めてください。
Android 12以降の場合、ワイヤレスデバッグの設定も必要になります。

(左)活性化 (右)Notification Method

通知を許可しておく
開発者向けオプションを開き、ワイヤレスデバッグをオンにします。
開発者向けオプションを初めて使う場合、
設定アプリ内にある、デバイスのビルド番号を連続タップしてください。
関連記事 Androidの開発者向けオプションを表示/非表示にする方法

(左)開発者向けオプションを開く (右)ワイヤレスデバッグをオン
続けて ワイヤレスデバッグ の詳細メニューを開きます。
専用コードによるデバイスのペア設定 を選択するとコードが表示されるので、
Virtual Master側へ通知します。

(左)専用コードによるデバイスのペア設定 (右)ペア設定コードが出る

通知内で入力して、有効化する
これでワイヤレスデバッグが接続され、アクティベーションが完了します。

(左)タップして有効化 (右)アクティベーション成功
さっそくAndroidの仮想マシンを作成しましょう。
デフォルトでは、Android 7.1.2が用意されています。
そのままで問題ないですが、もしスクリーンショットを撮影したいアプリの動作要件を満たしてない場合、最適なOSバージョンをダウンロードしてください。

(左)作成 (右)Android OSバージョンを選択

(左)解像度を選択※基本デフォルトでOK (右)適当な名前を決める
起動して、普段とは別のAndroidホーム画面が表示されればOKです。
ここにはアプリが何も入っていませんが、本体側のアプリ一覧から追加することができます。
スクリーンショット撮影をしたいアプリをインストールしましょう。

(左)VMの起動 (右)普段とは別のAndroidホーム画面が表示される

(左)上にスワイプしてアプリドロワーを表示 (右)赤枠アイコンをタップ

スクショ撮影をしたいアプリをインストールする
インストールしたアプリを起動して、スクリーンショットを撮影できれば成功です。

Tverの例。ほんらい制限されているスクリーンショットを撮影できる
Virtual Masterを終了したいときは、メニューから VMの切り替え をしてください。
これで仮想OSから、普段のAndroid OSに画面が切り替わります。

(左)メニューを表示 (右)VMの切り替え

普段のAndroid OS側の画面に切り替わる
以上、
Virtual Masterの紹介でした。
初期設定が少し面倒な上、アプリ内の画面でたびたび中国語が表示される欠点はありますが、仮想マシンの起動スピード、安定性は高く、類似アプリと比べても使いやすいです。
Androidスマホ上の操作だけで、スクリーンショット禁止を回避できる方法なので、ぜひお試しあれ。
最後に、今回の方法の細かい補足です。
Androidでスクリーンショット禁止に使われる代表的な仕組みは、アプリ側が画面に「FLAG_SECURE」というフラグを設定する方法です。
通常のAndroid環境では、このフラグが立っている画面はスクリーンショット・画面録画・最近使ったアプリ画面でのプレビューなどが制限されます。
ただし、Virtual Masterのような仮想Android環境では、構造的にはこうなります。
→ Virtual Masterアプリの画面を表示
→ その中に仮想Androidの画面が描画される
→ 仮想OS内で対象アプリが動く
このとき本体側から見ると、撮影対象は「対象アプリそのもの」ではなく、Virtual Masterアプリが描画している画面になります。
そのため、対象アプリが仮想OS内で「FLAG_SECURE」フラグを使っていても、その制限が本体Android側のスクリーンショット機能まで正しく伝わらないため、本体側ではスクリーンショットが成立することになります。
補足:その他のやり方
その他のやり方を紹介します。
| 方法 | 備考 |
|---|---|
| ①:パソコンのエミュレータで動かすアプリを撮影する | パソコンが必要 |
| ②:ブラウザ版の画面を撮影する | ブラウザ版が用意されてるアプリのみ対象 |
| ③:Chromeの試験運用機能(://flags設定)を使う | ブラウザのシークレットモード画面のみ対象 |
| ④:DisableFlagSecureを使って無理やり撮影する | root環境が必要 |
方法①:パソコンのエミュレータで動かすアプリを撮影する
仕組みとしては、前パートで紹介したやり方と同じです。
パソコン上でAndroidアプリを動かすエミュレータを使えば、パソコンを通してアプリのスクリーンショットを撮影できます。
オススメのソフトは以下3つです。
各ソフトの使い方は、関連記事【Androidエミュレータの使い方まとめ! Windowsでスマホゲームを動かそう】で解説しています。

いずれかのソフトをインストール後、エミュレータ上の
Playストアで画面キャプチャが禁止されてるアプリを追加します。

BlueStacks上でGoogle Playへアクセスした画面

TVer(ティーバー)をインストールする例
アプリを起動して、パソコン上でスクリーンショットを実行すれば、保存エラーを回避できます。

BlueStacksでTVer(ティーバー)を動かし、スクショ撮影した例
画像のトリミングを行えば、まるでAndroidスマートフォン上で撮影したキャプチャ画像のような見た目にできます。

BlueStacksで撮影した画像を加工した例
方法②:ブラウザ版の画面を撮影する
もしスクリーンショット撮影が禁止されてるアプリが、ブラウザ版にも対応している場合、ブラウザ上でなら撮影できる可能性があります。
たとえばTverは、ブラウザ上で再生すればスクリーンショット撮影できます。
関連記事 Tverをブラウザで開く方法
厳密にはアプリ版と画面はまったく一緒ではありませんが、ブラウザ版にも対応しているアプリなら、手っ取り早くてオススメの方法です。

Tverの例。ほんらいアプリでは制限されているスクリーンショットを、ブラウザ上なら撮影できる
方法③:Chromeの試験運用機能(://flags設定)を使う
Chromeの
シークレットモード中、セキュリティ上の理由でスクリーンショットは制限されます。

この制限は、試験運用機能を使って無効化できます。
アドレスバーに下記を入力して試験機能を開き、
chrome://flags
Incognito Screenshot を選択、

Enabled へ切り替えた後、Relaunch で
Chromeを再起動します。

これで
シークレットモード中、スクリーンショット撮影できれば成功です!

さらにマルチタスク画面のサムネイルも表示可能となります。

通常と異なり(左)、試験機能によってサムネイルが表示される(右)。
以上、説明でした。
Chromeの
シークレットモード中に限定されますが、スクリーンショット撮影したい方はぜひ。
なお試験機能はその性質上、
Chromeアプリのバージョンアップで突然削除される可能性もあります。
もし目的の機能が見当たらない場合、バージョンを下げるか、Googleへ機能復活の要望を出すしかありません。
関連記事 Android版Chromeのflags設定まとめ
方法④:DisableFlagSecureを使って無理やり撮影する
Xposedモジュール「DisableFlagSecure」を使えば、スクリーンショットが禁止されるアプリであっても無理やり撮影できるようになります。
Androidのroot化が前提となるため様々なリスクがありますが、いつも通りの手順でスクリーンショットを実行できるのが魅力です。
まずはAndroidにXposedモジュールを導入できる環境が必要です。
説明が長くなるため、詳細は関連記事【AndroidにXposedを導入する方法! フレームワークとモジュールでスマホを超強化しよう [要root]】で解説しています。

続いてXposedモジュール「DisableFlagSecure」をインストールします。
下記リンクよりapkファイルをダウンロードの上、インストールしてください。
ダウンロード DisableFlagSecure(リンク切れ)
関連記事 Androidで提供元不明アプリをインストールする方法

後はモジュールを有効化した後、再起動すればOK。

「Tver」や、

「楽天Edy」アプリなど、スクリーンショットが禁止されるアプリであっても、無理やり撮影できるようになります。

〆:禁止アプリでも無理やりキャプチャは残せる!
以上、Androidでスクリーンショット禁止を解除する方法! 許可されないアプリでキャプチャを保存しよう の説明でした。
スクリーンショット撮影が禁止されている原因は「FLAG_SECURE」フラグであり、突破するには、仮想マシン(エミュレーター)を使うのが現実的な選択肢です。
もしスクリーンショット撮影が制限されてるアプリ上の画面を画像として残したいなら、ぜひお試しあれ。
なお、Android向けMDMソフトが要因となっている可能性もあります。
もし企業から貸与されたスマートフォンでスクリーンショットを撮影できない場合、会社のセキュリティポリシー上、意図的に禁止しているケースもあります。
管理者へ問い合わせてみてください。
コメント
Yahooファイルマネージャにスクリーンショット機能があるのでそれを使うとスクリーンショットが撮れないアプリ(Chromeのシークレットモードなど)でもスクリーンショットが撮れますよ。
たしかに画面キャプチャが禁止されてるアプリ上でも、撮影自体は実行できますが、保存される画像が真っ黒になるため、実質的に動作しないかと思います。
※本件について、記事中にも追記しました。
Root化しモジュールを有効にすると、確かにスクショが禁止されているアプリについては回避できましたが、真っ黒な画面が保存されるものは回避できない様です。(プライムビデオアプリ)
なるほど、、当方では再現しませんですが、環境によってはそういうケースもあるのですね
ウェブ版ならスクショ可
コメントありがとうございます
たしかにブラウザ版に対応してるアプリの場合、ブラウザ上で撮影するという方法もありますね(記事中にも追記しました)
scrcpyというミラーリングソフトを使うと、スクリーンショット禁止されているアプリもPCにミラーリングしてスクショできる(ただしAndroid5.0以上の端末限定)
ただ、これでもAmazon Prime Videoはスクショできず(アプリ自体はスクショできるが動画を再生すると動画の部分だけ真っ黒になる)
なるほど
当方の環境では、ミラーリング系ソフト経由でも、やはりスクショ禁止アプリは撮影できない(PC側にミラーリングできない)結果でしたが、、環境次第では異なるかんじですかね?
vmosやvirtual masterとかを使えばパソコンが無くてもスクショを取れますよ!
コメントありがとうございます
触ってみましたが、たしかに便利ですね!
記事中にも追記しました