scrcpy 使い方を、コマンドとGUIの両方で解説します。scrcpyはAndroidデバイスをUSBまたはWi-Fi経由でPCに映し、マウスとキーボードでそのまま操作できるOSSです(Genymobile製・Apache-2.0・GitHub ★146,706/最新版 v4.1・2026年7月12日リリース)。root化も端末へのアプリ常駐インストールも不要で、scrcpy と打つだけで動くのが最大の特徴です。前半は本体のコマンド操作(ワイヤレス接続・録画・OTG)、後半はコマンドを覚えたくない人向けのGUIフロントエンド ScrcpyGUI v3 の導入手順です。
この記事はUI・デスクトップアプリ領域の解説です。デザインシステム・UI生成全般の基礎は デザインシステムとは?仕組み・構成要素・有名事例をエンジニア向けに整理する【2026年版】 をご覧ください。
scrcpy 使い方の基本——最初に覚える5つのコマンド
scrcpyはオプションを何も付けずに起動できるツールです。adb devices で端末が1台だけ見えていれば、そのまま scrcpy と打てばウィンドウが開きます。ここでは公式ドキュメント(doc/connection.md)に沿って、実務で使用頻度の高いものだけを挙げます。
# 1. そのまま起動(USB接続の端末が1台だけのとき)
scrcpy
# 2. 端末を指定して起動(複数台つないでいるとき)
adb devices # シリアルを確認
scrcpy -s 0123456789abcdef
scrcpy -d # USB接続の端末を選ぶ(--select-usb の短縮形)
scrcpy -e # TCP/IP接続の端末を選ぶ(--select-tcpip の短縮形)
# 3. 画面を録画しながらミラーリング
scrcpy --record=demo.mkv
# 4. 端末の画面を消したままPCから操作(バッテリー節約・盗み見防止)
scrcpy --turn-screen-off --stay-awake
# 5. 解像度とビットレートを落として遅延を減らす
scrcpy --max-size=1024 --video-bit-rate=2M
・-s に渡すシリアルは、TCP/IP接続時は 192.168.1.10:5555 のような ip:port になります(adb と同じ挙動)
・シリアルは環境変数 ANDROID_SERIAL でも指定できます。adb と共通なので、複数端末を扱うシェルではこちらのほうが取り回しが楽です
・--turn-screen-off は端末側の画面だけを消す指定で、ミラーリングは継続します。--stay-awake と組み合わせないとスリープに入って切断されます
scrcpyはADB経由で端末側に一時的なサーバーを送り込んで動きます。端末にAPKを常駐インストールすることはなく、Google Playへの登録もアカウント連携も要りません。必要なのは「開発者オプション → USBデバッグON」だけです。
やりたいことから引くオプション早見表
「何をしたいか」からコマンドを逆引きできるようにまとめます。GUI(ScrcpyGUI)を使う場合も、各設定項目がこのオプションのどれに対応しているかを知っておくと、GUIで詰まったときにコマンドへ切り戻せます。
| やりたいこと | オプション | 補足 |
|---|---|---|
| 端末を指定して起動 | -s <serial> / -d / -e |
-d=USB接続の1台、-e=TCP/IP接続の1台 |
| ワイヤレスで接続 | --tcpip / --tcpip=<IP> |
引数なしはUSB接続中に実行し自動設定 |
| 画面を録画する | --record=<file.mkv> |
MKVコンテナ。ffmpegでMP4化も可 |
| 端末画面を消して操作 | --turn-screen-off |
--stay-awake と併用しないと切断される |
| 遅延・帯域を抑える | --max-size / --video-bit-rate |
Wi-Fi接続時に効果が大きい |
| 物理キーボード/マウス化 | --otg |
ミラーリングせずHIDデバイスとして入力のみ送る |
| 端末カメラをPCに取り込む | カメラモード | Webカメラ代わりに使う用途 |
--otg は端末をHIDキーボード/マウスとして扱うモードで、画面ミラーリングは行いません。ADBではなくUSB HIDとして接続するため、USBデバッグをONにしていない端末や、ロック画面のパスワード入力にも使えるのが利点です。「OTGにしたら真っ暗になった」はバグではなく仕様なので、映像も欲しい場合は通常モードを使ってください。scrcpy 使い方(ワイヤレス編)——--tcpip で接続を自動化する
「scrcpy ワイヤレス」で検索して出てくる手順は、adb tcpip 5555 → adb connect <IP>:5555 というadb側で完結させる古い書き方が多いのですが、scrcpyには接続設定まで自動化する --tcpip オプションがあります。公式ドキュメントでは以下の2パターンが示されています。
# パターンA: 端末のIPが分からない/TCP/IPモードが無効なとき
# → いったんUSBでつないだ状態で実行する
scrcpy --tcpip
# 端末のIPアドレスとadbポートを自動検出し、TCP/IPモードを有効化して接続まで行う
# 実行後はUSBケーブルを抜いてよい
# パターンB: 端末が既にTCP/IPで待ち受けているとき
scrcpy --tcpip=192.168.1.10:5555
scrcpy --tcpip=192.168.1.10 # ポート省略時は 5555
# 従来のadb手動手順(Android 10以前などで --tcpip が使えないとき)
adb tcpip 5555
adb connect 192.168.1.10:5555
scrcpy -e
・PCと端末が別ネットワーク:ゲストWi-Fiやテザリングに繋がっていると `adb connect` がタイムアウトします。同一サブネットに揃えてください
・端末を再起動するとTCP/IPモードが切れる:`adb tcpip` の設定は再起動で失われます。`scrcpy --tcpip`(引数なし)をもう一度USBで実行し直すのが最短です
・遅延が大きい:Wi-Fi接続では通常30〜80ms、USB接続では15〜25ms程度です。ゲームなど反射神経を要する操作はUSBを推奨します
Android 11以降ではOS標準の「ワイヤレスデバッグ」(QRコード/ペアリングコード方式)も使えます。こちらは端末の「開発者オプション → ワイヤレスデバッグ」からペアリングし、adb pair <IP>:<ペアリングポート> を実行してから接続します。後述のScrcpyGUIはこのペアリングをGUIのボタンから実行できます。
ScrcpyGUI v3概要:コマンドライン不要でAndroidを完全制御
ScrcpyGUI v3(GitHub ★1,225/2026年7月25日時点)は、Androidデバイスの画面をPC上にミラーリング・録画・操作できる定番OSSツール「scrcpy」に、モダンなGUIフロントエンドを追加するオープンソースプロジェクトです。Tauri v2、React 19、Rustという最新技術スタックで2024年に一から再設計されました。scrcpy本体(★146,706)とは別プロジェクトで、開発者も異なります。
コマンドとGUI、どちらを使うべきか
・コマンド(scrcpy本体)で十分な人:起動オプションが毎回ほぼ同じ/シェルのエイリアスや.batに固めて使う/CIやスクリプトから叩きたい。scrcpyはオプションを何も付けなくても動くので、実は「コマンドが面倒」なケースは思ったより少ない
・GUI(ScrcpyGUI)が効く人:録画・カメラモード・OTG・解像度など毎回違う設定を試したい/複数端末の接続履歴をワンクリックで切り替えたい/Android 11+のワイヤレスペアリングをコマンドを見ずに済ませたい</div>
scrcpy本体は非常に高性能なツールですが、コマンドライン操作が前提のため、初心者やGUIツールに慣れたユーザーには敷居が高いという課題がありました。ScrcpyGUIはすべての主要機能をビジュアルなUI上で設定・実行できるようにし、コマンドオプションを一つも覚えなくてもscrcpyの全機能を引き出せる環境を実現しています。
アプリケーション本体はTauri v2(Rustベースのデスクトップアプリフレームワーク)で構築されており、ElectronのようなNode.js/V8エンジンを持たないため、メモリ使用量が少なく起動が高速です。「Electronをやめて軽くする」という同じ方向性は、ネイティブ実装で余計な機能を削いだ Clearly - 余分な機能を排除したmacOSネイティブMarkdownエディタ にも見られる、近年のデスクトップOSSに共通する傾向です。UIはReact 19で作られており、5種類のプレミアムテーマで見た目をカスタマイズできます。MITライセンスで公開されています。
scrcpy(本体)はGenymobile社が開発したオープンソースのAndroidミラーリングエンジン。USB/Wi-Fi経由でAndroidデバイスに接続し、PCの画面に表示・操作できる。ScrcpyGUIはscrcpyをバックエンドとして使い、その上にGUIを被せたフロントエンドラッパー。scrcpyの性能はそのまま享受しつつ、GUIで使いやすくする構成。
技術アーキテクチャ:Tauri v2+Rust+React 19の最新スタック
ScrcpyGUI v3は、従来のElectronベースのGUIアプリと異なるアーキテクチャを採用しています。
(GUI上で設定)"] --> B["React 19 UI
(フロントエンド)"] B --> C["Tauri v2
(ブリッジ層)"] C --> D["Rust バックエンド
(プロセス管理)"] D --> E["scrcpy プロセス
(コアエンジン)"] D --> F["ADB
(Android Debug Bridge)"] E --> G["Androidデバイス
(USB/Wi-Fi接続)"] F --> G G --> H["画面ミラーリング
ストリーム"] H --> B style A fill:#3498DB,color:#fff style C fill:#E74C3C,color:#fff style D fill:#E67E22,color:#fff style E fill:#27AE60,color:#fff style G fill:#9B59B6,color:#fff
Tauriを選んだ理由:Electronとの決定的な差異
| 比較項目 | Tauri v2(ScrcpyGUI採用) | Electron |
|---|---|---|
| バックエンド | Rust(コンパイル型) | Node.js(V8エンジン) |
| メモリ使用量 | 非常に少ない(Rust) | 比較的多い(V8 + Node) |
| 起動速度 | 高速 | 比較的遅い |
| バイナリサイズ | 小さい | 大きい(V8込み) |
| セキュリティ | Rustの安全性保証 | Node.jsのnpmエコシステム |
| WebView使用 | OSネイティブWebView | Chromiumバンドル |
主要機能コンポーネント
- テーマエンジン: 5テーマ(Ultraviolet、Astro、Carbon、Emerald、Bloodmoon)のリアルタイム切り替え
- 接続管理: ADBによるUSB/Wi-Fi自動検出、接続履歴の保存と再接続
- OTGコントロール: HIDキーボード(国際配列・特殊文字対応)およびHIDマウス(低遅延)の物理デバイスシミュレーション
- メディア機能: カメラモード(PCのウェブカムとしてAndroidカメラを使用)、デスクトップモード(仮想セカンダリディスプレイ)、MKV形式録画
- ファイル転送: ドラッグ&ドロップでのAPKインストール、ファイルプッシュ
インストール・セットアップ:前提条件から起動まで
事前準備:ADBのインストール
ScrcpyGUIはADB(Android Debug Bridge)を必要とします。ADBはAndroid SDKプラットフォームツールの一部で、以下の方法で入手できます。
# macOS(Homebrewを使う場合)
brew install android-platform-tools
# Windowsの場合はAndroid Studio SDKマネージャーから
# または platform-tools をGoogle公式サイトから直接ダウンロード
# インストール確認
adb version
# Android Debug Bridge version 1.0.41 のように表示されればOK
Androidデバイス側では「開発者オプション」を有効にし、「USBデバッグ」をオンにする必要があります。
開発者オプションを有効にする手順:
- 設定 → デバイス情報 → ビルド番号を7回タップ
- 設定 → 開発者オプション → USBデバッグをON
ビルド済みバイナリの使用(推奨)
GitHubのReleasesページから各OS向けのインストーラーをダウンロードして実行します。
- Windows:
.msiまたは.exeインストーラー - macOS:
.dmgファイル - Linux:
.AppImageまたは.debパッケージ
ソースからビルドする方法
開発者向けの手順です。Node.js v18以上とRust(Cargo)が必要です。
# 依存関係のインストール
# Node.js v18+ および Rust が必要
# Rust インストール: https://rustup.rs/
# リポジトリをクローン
git clone https://github.com/kil0bit-kb/scrcpy-gui.git
cd scrcpy-gui
# npm依存パッケージをインストール
npm install
# 開発モードで起動(ホットリロード有効)
npm run tauri dev
プロダクションビルドの作成
# 本番用バイナリをビルド(各OSのインストーラーが生成される)
npm run tauri build
# 出力場所: src-tauri/target/release/bundle/
# Windows: .msi ファイル
# macOS: .dmg ファイル
# Linux: .AppImage / .deb ファイル
1. USB接続で最初のペアリングを実行
2. ScrcpyGUI内のワイヤレスペアリングボタンをクリック
3. AndroidデバイスでQRコードをスキャンするかペアリングコードを入力
4. 以降はUSBなしでWi-Fi接続が可能
接続履歴は保存されるため、次回以降はワンクリックで再接続できる
実践的ユースケース:現場での活用シーン
ユースケース1:Androidアプリの開発・デバッグ
Androidアプリを開発中、動作確認のたびにエミュレーターを起動するよりも実機で確認したいケースは多いです。たとえば Waterfly III:Firefly III対応の個人財務管理Androidアプリ、家計・予算・マルチ通貨を一元管理 のような実機前提のAndroidアプリでは、PC側の大画面で操作しながらログを追える構成が効きます。ScrcpyGUIを使えば実機の画面をPC上に映しながら、マウスとキーボードで直接アプリを操作できます。logcatなどのデバッグツールと並行して使うことで、実機デバッグの効率が大幅に上がります。
ユースケース2:UIテスト・品質保証業務
モバイルアプリのQAテストでは複数の端末・OSバージョンでの動作確認が必要です。ScrcpyGUIで複数の実機を接続し、同一のテスト手順を実行しながら録画機能でエビデンスを収集できます。MKV形式の高品質な録画ファイルはバグレポートや仕様書への添付にも使えます。
ユースケース3:プレゼン・デモンストレーション
会議でAndroidアプリの機能説明をする際、ScrcpyGUIを使えばAndroidの画面を大型ディスプレイに投影できます。カメラモードを使うことで、ScrcpyGUI経由でAndroidカメラをWebカメラとしてZoom/Teamsに使う活用法もあります。
ユースケース4:デスクトップモードでの生産性向上
Androidの「デスクトップモード」機能に対応したデバイス(Samsung DeX対応機種等)では、ScrcpyGUIのデスクトップモードオプションを有効にすることで、AndroidデバイスをPCのセカンダリディスプレイとして使えます。
ユースケース5:ファイル転送とAPK管理
APKファイルをScrcpyGUIのウィンドウにドラッグ&ドロップするだけでAndroidデバイスにインストールできます。adbコマンドを打つ必要なく、複数のAPKを素早く実機にサイドローディングする作業に便利です。
競合ツールとの比較
ScrcpyGUIのポジションは「scrcpyのGUIフロントエンド」という明確なニッチにあります。
| 比較項目 | ScrcpyGUI v3 | Vysor | Scrcpy(素) | Genymobile(商用) |
|---|---|---|---|---|
| 価格 | 無料・OSS | 無料/有料プレミアム | 無料・OSS | 有料 |
| GUI | あり(Tauri+React) | あり(Electron) | なし(CLI) | あり |
| 動作の軽さ | 軽量(Rust/Tauri) | やや重い(Electron) | 最軽量 | 中程度 |
| Wi-Fi接続 | Android 11+ネイティブ対応 | 有料プランのみ | コマンドで可能 | 対応 |
| 録画機能 | MKV高品質録画 | あり | コマンドで可能 | あり |
| OTG/HIDサポート | 完全対応 | 限定的 | コマンドで可能 | 対応 |
| テーマカスタマイズ | 5種類 | なし | なし | なし |
| オープンソース | MIT | なし | Apache-2.0 | なし |
| プラットフォーム | Win/Mac/Linux | Win/Mac | Win/Mac/Linux | Win/Mac/Linux |
ScrcpyGUIは内部でscrcpyバイナリを呼び出すため、scrcpyが別途インストール済みである必要がある場合があります。セットアップ時にREADMEのdependency requirements(依存要件)を確認し、scrcpy本体とADBが正しくPATHに通っているかを事前確認してください。
よくある質問
Q: ScrcpyGUI v3を使うにはscrcpy本体も別途インストールが必要ですか?
はい。ScrcpyGUIはscrcpyのGUIフロントエンドであるため、scrcpy本体(バイナリ)がシステムにインストールされPATHに通っている必要があります。macOSならbrew install scrcpy、Windowsでは公式リリースから、Linuxではapt install scrcpy等でインストールできます。
Q: Android 10以前のデバイスでもWi-Fi接続は使えますか?
ワイヤレスペアリング(QRコード方式)はAndroid 11以降の機能です。Android 10以前のデバイスでは、一度USBで接続してからadb tcpip 5555コマンドでTCP/IPモードに切り替えることでWi-Fi接続が可能ですが、この操作はScrcpyGUIのGUIからではなくコマンドラインで実行する必要があります。
Q: 接続遅延はどの程度ですか?
scrcpy本体の性能に依存します。同一Wi-Fiネットワーク上では通常30〜80ms程度の遅延で、一般的な操作には問題ありません。USB接続の方が遅延は小さく15〜25ms程度です。ゲームのような反射神経を要する操作にはUSB接続を推奨します。
Q: Macbook(Apple Silicon)で動きますか?
Tauri v2はApple Siliconネイティブビルドに対応しています。npm run tauri buildでarm64バイナリが生成され、M1/M2/M3/M4 MacBookで動作します。scrcpy本体もApple Silicon対応バイナリが提供されています。
Q: 複数のAndroidデバイスを同時に接続できますか?
scrcpy本体は複数デバイスの同時接続をサポートしており、-s <device-id>オプションで対象デバイスを指定できます。ScrcpyGUIからの複数デバイス同時管理については、接続履歴から選択する形で対応しています。
Q: 録画したMKVファイルはどう使えますか?
MKVはオープンな動画コンテナフォーマットで、VLCなど主要な動画プレイヤーで再生できます。ffmpegを使ってMP4などの形式に変換することもできます。ffmpeg -i recording.mkv -c copy output.mp4で変換できます。
Q: カメラモードとはどのように使うのですか?
ScrcpyGUIのカメラモードを有効にすると、AndroidデバイスのカメラがPCからWebカメラとして認識されます。ZoomやTeams、Google MeetなどでカメラとしてAndroidを選択できるようになります。Androidの高品質なカメラをPC向けWebカム代わりに使いたい場面で有効です。Android 14以降のデバイスで最も安定して動作します。
まとめ
ScrcpyGUI v3が最も価値を発揮する場面
以下のニーズがあるなら、ScrcpyGUIは導入する価値が大きい:
- scrcpyを使ってみたいが、コマンドラインが苦手または面倒
- Wi-Fiペアリングやカメラモードなど高度な機能を手軽に試したい
- Androidアプリのデモや録画を定期的に行う開発者・QAエンジニア
- scrcpyのオプションを毎回調べる手間を省きたい</div>
ScrcpyGUI v3はTauri v2+React 19+Rustという現代的な技術スタックで再設計されたことで、Electronベースの従来GUIより軽量・高速なデスクトップアプリとして生まれ変わりました。scrcpyの全機能をGUIから設定・実行できるため、コマンドラインに慣れていないユーザーでも即座に使い始められます。
開発者・QAエンジニア・デザイナーなど、Androidデバイスを日常的にPC連携して使う人にとって、生産性を高める実用ツールです。MITライセンスで商用利用可能、Tauriの軽量設計により常駐させても負荷が少ない点も実用面でのメリットです。
ScrcpyGUIはGenymobile(scrcpy開発元)の公式プロジェクトではなく、独立した非公式GUIラッパーです。scrcpy本体のバージョンアップに追随するのに時差が生じることがあります。最新scrcpyの新機能が即座にGUIに反映されない場合は、本体のコマンドラインで直接使う方法を検討してください。