この記事ではUIデザインに特化して解説します。デザインシステム・UI生成全般は デザインシステムとは?仕組み・構成要素・有名事例をエンジニア向けに完全解説 をご覧ください。

ScrcpyGUI v3概要:コマンドライン不要でAndroidを完全制御

ScrcpyGUI v3(GitHub Stars: 564)は、Androidデバイスの画面をPC上にミラーリング・録画・操作できる定番OSSツール「scrcpy」に、モダンなGUIフロントエンドを追加するオープンソースプロジェクトです。Tauri v2、React 19、Rustという最新技術スタックで2024年に一から再設計されました。

scrcpy本体は非常に高性能なツールですが、コマンドライン操作が前提のため、初心者やGUIツールに慣れたユーザーには敷居が高いという課題がありました。ScrcpyGUIはすべての主要機能をビジュアルなUI上で設定・実行できるようにし、コマンドオプションを一つも覚えなくてもscrcpyの全機能を引き出せる環境を実現しています。

アプリケーション本体はTauri v2(Rustベースのデスクトップアプリフレームワーク)で構築されており、ElectronのようなNode.js/V8エンジンを持たないため、メモリ使用量が少なく起動が高速です。UIはReact 19で作られており、5種類のプレミアムテーマで見た目をカスタマイズできます。MITライセンスで公開されています。

scrcpyとScrcpyGUIの関係
scrcpy(本体)はGenymobile社が開発したオープンソースのAndroidミラーリングエンジン。USB/Wi-Fi経由でAndroidデバイスに接続し、PCの画面に表示・操作できる。ScrcpyGUIはscrcpyをバックエンドとして使い、その上にGUIを被せたフロントエンドラッパー。scrcpyの性能はそのまま享受しつつ、GUIで使いやすくする構成。

技術アーキテクチャ:Tauri v2+Rust+React 19の最新スタック

ScrcpyGUI v3は、従来のElectronベースのGUIアプリと異なるアーキテクチャを採用しています。

flowchart TD A["ユーザー操作
(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デバッグ」をオンにする必要があります。

開発者オプションを有効にする手順:

  1. 設定 → デバイス情報 → ビルド番号を7回タップ
  2. 設定 → 開発者オプション → 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 ファイル
Wi-Fi接続のセットアップ手順(Android 11以降)
1. USB接続で最初のペアリングを実行
2. ScrcpyGUI内のワイヤレスペアリングボタンをクリック
3. AndroidデバイスでQRコードをスキャンするかペアリングコードを入力
4. 以降はUSBなしでWi-Fi接続が可能
接続履歴は保存されるため、次回以降はワンクリックで再接続できる

実践的ユースケース:現場での活用シーン

ユースケース1:Androidアプリの開発・デバッグ

Androidアプリを開発中、動作確認のたびにエミュレーターを起動するよりも実機で確認したいケースは多いです。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
scrcpy本体のインストール要否について
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に反映されない場合は、本体のコマンドラインで直接使う方法を検討してください。

参照ソース