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 の導入手順です。

COMMAND OR GUIどちらで使うか

同じ scrcpy を、コマンドでもGUIでも動かせる

scrcpy 本体

Genymobile・Apache-2.0

  • scrcpy と打つだけで起動端末が1台ならオプション不要
  • 毎回同じ設定ならこちらエイリアス・.bat・スクリプトに固める

ScrcpyGUI v3

kil0bit-kb・MIT・非公式

  • 設定を画面で切り替える録画・カメラ・OTG・解像度
  • 接続履歴とワイヤレスペアリングAndroid 11+ をボタンで
出典: Genymobile/scrcpy(★146,706・v4.1)と kil0bit-kb/scrcpy-gui(★1,225)の README(2026-07時点)

30秒でわかるscrcpyの使い方

  • ・USBデバッグをONにして scrcpy と打てば、端末の画面がPCに映り操作できる
  • ・ワイヤレスは scrcpy --tcpip、録画は --record=demo.mkv、画面オフ操作は --turn-screen-off --stay-awake
  • ・--otg は入力だけを送るモードで、画面が映らないのは仕様
  • ・コマンドを覚えたくないなら ScrcpyGUI v3(Tauri v2+Rust+React 19・MIT)。scrcpy本体とADBは別に要る

この記事は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パターンが示されています。

WIRELESSワイヤレス接続

端末の状態で、打つコマンドが1行変わる

  1. IP不明

    scrcpy --tcpip

    USBでつないだまま実行。IPとポートを自動検出し、接続後はケーブルを抜ける

  2. IP既知

    scrcpy --tcpip=192.168.1.10

    TCP/IPで待ち受け中の端末に直接つなぐ。ポート省略時は5555

  3. 従来手順

    adb tcpip 5555 → adb connect

    --tcpip が使えないとき。最後に scrcpy -e

出典: Genymobile/scrcpy doc/connection.md
# パターン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概要:Tauri v2+Rust+React 19でコマンドを覚えずに使う

ScrcpyGUI v3(GitHub ★1,225/2026年7月25日時点)は、scrcpyにモダンなGUIフロントエンドを被せるオープンソースプロジェクトです。Tauri v2、React 19、Rustで2024年に一から再設計されました。scrcpy本体(★146,706)とは別プロジェクトで、開発者も異なります。scrcpy本体はGenymobile社のミラーリングエンジン、ScrcpyGUIはそれをバックエンドとして呼び出すラッパーで、性能は本体のまま、設定と実行を画面から行えるようにする構成です。

コマンド(scrcpy本体)で十分なのは、起動オプションが毎回ほぼ同じ人、シェルのエイリアスや.batに固めて使う人、CIやスクリプトから叩きたい人です。scrcpyはオプションを何も付けなくても動くので、実は「コマンドが面倒」なケースは思ったより少ないはずです。GUIが効くのは、録画・カメラモード・OTG・解像度など毎回違う設定を試したい人、複数端末の接続履歴をワンクリックで切り替えたい人、Android 11+のワイヤレスペアリングをコマンドを見ずに済ませたい人です。

UNDER THE HOODGUIの裏側

画面で選んだ設定が、scrcpyのプロセスとして端末に届く

  1. React 19 UI

    GUIで設定

  2. Tauri v2

    ブリッジ層

  3. Rust

    プロセス管理

  4. scrcpy / ADB

    コアエンジン

  5. Android端末

    USB / Wi-Fi

出典: kil0bit-kb/scrcpy-gui README

Tauri v2はRustベースのデスクトップアプリフレームワークで、ElectronのようなNode.js/V8エンジンを持たないため、メモリ使用量が少なく起動が高速です。「Electronをやめて軽くする」という同じ方向性は、ネイティブ実装で余計な機能を削いだ Clearly - 余分な機能を排除したmacOSネイティブMarkdownエディタ にも見られる、近年のデスクトップOSSに共通する傾向です。MITライセンスで公開されています。

比較項目 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インストール、ファイルプッシュ

ScrcpyGUIのインストール・セットアップ:前提条件から起動まで

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デバイス側では「設定 → デバイス情報 → ビルド番号を7回タップ」で開発者オプションを有効にし、「設定 → 開発者オプション → USBデバッグ」をONにします。

アプリ本体は、GitHubのReleasesページから各OS向けのインストーラー(Windowsは.msi/.exe、macOSは.dmg、Linuxは.AppImage/.deb)を入れるのが推奨です。ソースからビルドする場合はNode.js v18以上とRust(Cargo、rustup.rs)が必要です。

git clone https://github.com/kil0bit-kb/scrcpy-gui.git
cd scrcpy-gui
npm install

# 開発モードで起動(ホットリロード有効)
npm run tauri dev

# 本番用バイナリをビルド(出力場所: src-tauri/target/release/bundle/)
npm run tauri build

Android 11以降のWi-Fi接続は、USB接続で最初のペアリングを実行し、ScrcpyGUI内のワイヤレスペアリングボタンを押して、端末側でQRコードをスキャンするかペアリングコードを入力します。以降はUSBなしでつながり、接続履歴からワンクリックで再接続できます。

ユースケースと競合ツールとの比較

Androidアプリの開発・デバッグ:動作確認のたびにエミュレーターを起動するより、実機で確認したい場面は多いです。たとえば Waterfly III:Firefly III対応の個人財務管理Androidアプリ、家計・予算・マルチ通貨を一元管理 のような実機前提のAndroidアプリでは、PC側の大画面で操作しながらログを追える構成が効きます。logcatなどのデバッグツールと並行して使えます。

UIテスト・QA:複数の実機を接続して同じテスト手順を実行し、録画機能でエビデンスを集められます。MKVの録画ファイルはバグレポートへの添付にも使えます。

プレゼン・デモ:会議でAndroidの画面を大型ディスプレイに映せます。カメラモードでAndroidのカメラをZoom/TeamsのWebカメラとして使う方法もあります。

デスクトップモード・APK管理:Samsung DeX対応機種などでは、デスクトップモードでAndroidをPCのセカンダリディスプレイとして使えます。APKファイルはウィンドウにドラッグ&ドロップするだけでインストールでき、adbコマンドを打たずにサイドローディングできます。

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

よくある質問と注意点

Q: Android 10以前のデバイスでもWi-Fi接続は使えますか?

ワイヤレスペアリング(QRコード方式)はAndroid 11以降の機能です。Android 10以前のデバイスでは、一度USBで接続してからadb tcpip 5555でTCP/IPモードに切り替えることでWi-Fi接続が可能ですが、この操作はScrcpyGUIのGUIからではなくコマンドラインで実行する必要があります。

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: カメラモードとはどのように使うのですか?

カメラモードを有効にすると、AndroidデバイスのカメラがPCからWebカメラとして認識され、ZoomやTeams、Google Meetで選べるようになります。Android 14以降のデバイスで最も安定して動作します。

ScrcpyGUIは、scrcpyを使ってみたいがコマンドラインが面倒な人、Wi-Fiペアリングやカメラモードを手軽に試したい人、デモや録画を定期的に行う開発者・QAエンジニアに向きます。MITライセンスで商用利用でき、Tauriの軽量設計で常駐させても負荷が少ない点も実用面のメリットです。

非公式フロントエンドとしての注意

  • ・ScrcpyGUIはGenymobile(scrcpy開発元)の公式プロジェクトではなく、独立した非公式GUIラッパーです
  • ・内部でscrcpyバイナリを呼ぶので、scrcpy本体とADBを先に入れてPATHを通しておきます(macOSは brew install scrcpy、Linuxは apt install scrcpy 等)
  • ・本体のバージョンアップへの追随には時差が出ることがあります。新機能がGUIに無ければ本体のコマンドで直接使ってください

参照ソース