ADB(Android Debug Bridge) は、PC から Android 端末をコマンドラインで操作できる強力なツールです。画面が真っ暗で操作できない・プリインストールアプリを削除したい・システム設定を変更したい・データを救出したい——そんな時に ADB が役立ちます。
この記事では、ADB の導入から実用的なコマンド一覧(設定変更・アプリ管理・ファイル操作・トラブルシューティング・データ救出)まで、用途別に完全網羅します。
ADB 操作は「自己責任」です。誤ったコマンドの実行は端末の動作不良・データ消失・文鎮化の原因になります。特に pm uninstall -k –user 0 によるプリインアプリ削除は「システムアプリまで消すと復元不可」なものがあるため、事前にパッケージ名を必ず確認し、削除前にバックアップを取ってください。
ADB の導入方法(Windows / Mac / Linux)
まず PC に ADB 環境をセットアップします。
Windows
- Android Developer サイト から SDK Platform-Tools(ZIP) をダウンロード
- C ドライブ直下などに解凍(例: C:\platform-tools\)
- コマンドプロンプトまたは PowerShell を開き、解凍フォルダへ移動
cd C:\platform-tools
Mac
brew install android-platform-tools
Linux(Ubuntu/Debian)
sudo apt install adb fastboot
端末側の準備
- 設定 > 端末情報 > ビルド番号 を7回タップ → 「開発者向けオプション」有効化
- 設定 > 開発者向けオプション > USB デバッグ を ON
- 端末を PC に USB 接続 → 端末画面に「USB デバッグを許可しますか?」→ 「許可」+「常に許可」
- PC 側で接続確認:
adb devices # List of devices attached # ABCDEF123456 device
“device” と表示されれば接続成功。”unauthorized” の場合は端末側で許可を承認してください。
基本コマンド一覧
| カテゴリ | コマンド | 説明 |
|---|---|---|
| 接続・確認 | adb devices | 接続端末一覧表示 |
| adb get-state | 端末状態(device/recovery/fastboot)表示 | |
| adb reboot | 端末再起動 | |
| シェル | adb shell | 端末内シェルに入る(対話モード) |
| adb shell [command] | 単一コマンド実行(例: adb shell ls /sdcard) | |
| ファイル操作 | adb push [PC側] [端末側] | PC → 端末へファイル転送 |
| adb pull [端末側] [PC側] | 端末 → PC へファイル転送 | |
| アプリ管理 | adb install [apkファイル] | APK インストール |
| adb uninstall [パッケージ名] | アプリ アンインストール | |
| ログ | adb logcat | リアルタイムログ表示(Ctrl+C で終了) |
| adb bugreport | 詳細診断レポート出力 |
【実践】設定変更コマンド一覧
ADB でシステム設定を読み書きできます。settings コマンドの書式は以下。
adb shell settings [get/put/delete] [system/secure/global] [キー名] [値]
各名前空間の違い:
- system: ユーザーが変更可能な一般的設定(画面輝度、音量等)
- secure: ユーザー設定だがアプリからは読み取り専用(位置情報、ロック画面等)
- global: 全ユーザー共通のシステム設定(機内モード、ADB有効等)
画面・表示関連
| 設定内容 | コマンド |
|---|---|
| 画面輝度(0〜255) | adb shell settings put system screen_brightness 120 |
| 画面消灯時間(ミリ秒) | adb shell settings put system screen_off_timeout 60000 |
| 自動回転 ON/OFF(1/0) | adb shell settings put system accelerometer_rotation 0 |
| フォントサイズ(1.0=標準) | adb shell settings put system font_scale 1.15 |
| ダークモード ON/OFF | adb shell settings put secure ui_night_mode 2 |
サウンド関連
| 設定内容 | コマンド |
|---|---|
| メディア音量(0〜15) | adb shell media volume –set 7 –stream 3 |
| マナーモード(0=通常/1=バイブ/2=サイレント) | adb shell settings put global zen_mode 2 |
| シャッター音強制 OFF(機種による) | adb shell settings put system camera_sound_forced 0 |
| スクリーンショット音 OFF | adb shell settings put global screenshot_chord_enabled 0 |
| 充電音 OFF | adb shell settings put system charging_sound_enabled 0 |
通信関連
| 設定内容 | コマンド |
|---|---|
| 機内モード ON/OFF | adb shell settings put global airplane_mode_on 1 / 0 |
| Bluetooth ON/OFF | adb shell service call bluetooth_manager 6(ON)/ 8(OFF) |
| Wi-Fi スキャン間隔(秒) | adb shell settings put global wifi_scan_interval 300 |
| 5G 優先 / LTE 優先 | adb shell settings put global preferred_network_mode 1(4G LTE優先) |
| キャプティブポータルチェック OFF | adb shell settings put global captive_portal_detection_enabled 0 |
バッテリー・パフォーマンス
| 設定内容 | コマンド |
|---|---|
| 充電中スリープ禁止 | adb shell settings put global stay_on_while_plugged_in 3 |
| アニメーション速度(0.5〜10、0=オフ) | adb shell settings put global window_animation_scale 0.5 |
| アニメーション速度(遷移) | adb shell settings put global transition_animation_scale 0.5 |
| アニメーション速度(ウィンドウ) | adb shell settings put global animator_duration_scale 0.5 |
| バッテリーセーバー自動 ON(残量%) | adb shell settings put global low_power_trigger_level 20 |
セキュリティ・プライバシー
| 設定内容 | コマンド |
|---|---|
| ロック画面の情報表示 | adb shell settings put secure lock_screen_show_notifications 1 |
| USB デバッグ常時許可 | adb shell settings put global adb_enabled 1 |
| 不明なアプリのインストール許可 | adb shell settings put secure install_non_market_apps 1 |
| タップ可視化(開発者用) | adb shell settings put system show_taps 1 |
| ポインタ位置表示 | adb shell settings put system pointer_location 1 |
【実践】アプリ管理コマンド
パッケージ名を調べる
# インストール済み全パッケージ一覧 adb shell pm list packages # 特定のキーワードでフィルタ adb shell pm list packages | findstr "samsung" # Windows adb shell pm list packages | grep "google" # Mac/Linux # システムアプリのみ adb shell pm list packages -s # サードパーティアプリのみ adb shell pm list packages -3
アプリの無効化・再有効化
# 無効化(アンインストールせず非表示) adb shell pm disable-user --user 0 com.example.package # 再有効化 adb shell pm enable com.example.package
キャリアプリインアプリのアンインストール
# 一般ユーザー用アンインストール(OSアップデートで復活することあり) adb shell pm uninstall -k --user 0 com.example.package # 完全削除(root 権限が必要、端末によっては復元不可) adb shell pm uninstall -k --user 0 com.example.package # root不要版はこれでOK # プリインアプリでも削除不可なものを強制無効化 adb shell pm disable --user 0 com.example.package
アプリの強制停止・キャッシュ消去
# 強制停止 adb shell am force-stop com.example.package # キャッシュ消去 adb shell pm clear com.example.package # アプリのアクティビティ起動(明示的Intent) adb shell am start -n com.example.package/.MainActivity
【実践】データ救出コマンド(画面が壊れていても)
# 内部ストレージの全ファイルをPCへコピー adb pull /sdcard/ C:\backup\ # 特定フォルダのみ(DCIM = 写真・動画) adb pull /sdcard/DCIM/ C:\backup\DCIM\ # 特定フォルダ(Download) adb pull /sdcard/Download/ C:\backup\Download\ # WhatsApp のバックアップ adb pull /sdcard/Android/media/com.whatsapp/WhatsApp/ C:\backup\WhatsApp\ # 内蔵ストレージ・外部SDカードのファイル構成確認 adb shell ls /sdcard/ adb shell ls /storage/
スクリーンショット・画面録画
# スクリーンショット(PC側に保存) adb exec-out screencap -p > C:\screenshot.png # 画面録画(30秒、PC側に保存) adb shell screenrecord /sdcard/demo.mp4 --time-limit 30 adb pull /sdcard/demo.mp4 C:\
キー入力(タッチ操作の代替)
# ホームボタン adb shell input keyevent 3 # バックボタン adb shell input keyevent 4 # 電源ボタン adb shell input keyevent 26 # 音量UP / 音量DOWN adb shell input keyevent 24 / 25 # タッチ操作(指定座標をタップ) adb shell input tap 540 960 # スワイプ(x1 y1 x2 y2 持続時間ms) adb shell input swipe 540 1500 540 500 500 # 文字列入力(日本語不可、英数字のみ) adb shell input text "HelloWorld" # ロック画面解除(パターン/PIN) adb shell input swipe 300 1000 300 300 # スワイプアップ adb shell input text 1234 # PIN入力 adb shell input keyevent 66 # Enter確定
【実践】トラブルシューティングコマンド
画面が操作不能・フリーズ時
# 強制再起動 adb reboot # セーフモード起動 adb reboot safe # リカバリモード起動 adb reboot recovery # Fastboot/ダウンロードモード起動 adb reboot bootloader
OS のクラッシュ・バグ調査
# リアルタイムログ(エラーだけ表示) adb logcat -v time *:E # 特定アプリのログだけ表示 adb logcat -v time | findstr "com.crash.app" # Windows adb logcat -v time | grep "com.crash.app" # Mac/Linux # バグレポート出力(詳細診断情報) adb bugreport C:\bugreport.zip
APK のインストールエラー対処
# 既存アプリを上書きインストール(-d = ダウングレード許容) adb install -r -d app.apk # インストールエラーの詳細表示 adb install -r app.apk 2>&1 # 複数APK一括インストール for %f in (*.apk) do adb install "%f" # Windows for f in *.apk; do adb install "$f"; done # Mac/Linux
ADB と Shizuku の使い分け
| 観点 | ADB 直接 | Shizuku + ADB | Shizuku Root モード |
|---|---|---|---|
| 権限レベル | shell | system | root |
| 書き込み可能な設定 | 大半の system/secure | system/secure/global のほぼ全て | 制限なし + systemパーティション書換 |
| PC 必須 | 〇(毎回) | △(起動時のみ) | ✕(端末単体OK) |
| 常駐/自動化 | ✕ | Tasker 等と組み合わせ可 | 自動起動 + Tasker 等で常時 |
| 安定性 | 高い | 中程度 | 中程度 |
| おすすめ用途 | 単発設定変更、データ救出、ログ取得 | 設定書換の常時維持、自動化 | システム領域書換、プリイン完全削除 |
Q&A
以下を順に確認。
① USB デバッグがONか(設定 > 開発者向けオプション)
② USB 接続モードが「ファイル転送 (MTP)」か(充電のみ×)
③ ケーブルがデータ通信対応か(充電専用ケーブル×)
④ PC 側のドライバ(Windows: Google USB Driver 要インストール)
⑤ 別のUSBポート・別のPCで試す
⑥ adb kill-server → adb start-server → adb devices で再接続
開発者向けオプションの「ADB デバッグを許可」をオフにするのが確実。利用時のみオンにし、不要ならオフにすることで、PC側からの不正な ADB アクセスを防止できます。USB 接続時の「RSA 鍵のフィンガープリント許可」も、信頼する PC のみ許可してください。
一部の設定は SystemServer の起動時処理で強制的に初期値に戻されます(特に camera_sound_forced 等の日本国内向け強制設定)。恒久化には以下を検討。
① Tasker/MacroDroid で「起動時」に同じコマンドを再実行(自動化)
② Magisk + LSPosed モジュールで書き戻しをフック(Root 必須)
③ カスタムROMで元から設定項目があるファームに変更(ブートローダーアンロック必須)
- adb shell pm list packages で消したパッケージ名を確認
- 該当 APK を抽出: adb shell pm path パッケージ名(消す前のバックアップがあれば)
- キャリア/メーカーのファクトリーROMをダウンロードし、APK を取り出して adb install
- ファクトリーリセット(設定 > システム > リセット > 工場出荷状態)
消したパッケージが pm install で復元できないシステム領域のものだった場合、ファクトリーリセットが唯一の復元手段です。
adb backup は Android 9 以降で非推奨/制限されているため、現在は adb pull /sdcard/ でファイル単位のバックアップが主手段です。アプリデータを完全バックアップしたい場合は、Helium や Swift Backup(どちらも Shizuku 対応)を使うと、Root なしでアプリデータのバックアップ/復元が可能です。
Android 11 以降では「ワイヤレスデバッグ」が標準対応。手順:
① 開発者向けオプション > ワイヤレスデバッグ ON
② 「IPアドレスとポート番号」を表示(例: 192.168.1.10:45678)
③ PC 側: adb pair 192.168.1.10:45678 → 表示される6桁コードを入力
④ adb connect 192.168.1.10:45678
これで USB ケーブル不要。Shizuku もワイヤレス ADB から起動可能です。
まとめ:ADB を使いこなすための3原則
- コマンドを理解してから実行する — 知らないコマンドをコピペ実行しない。特に pm uninstall / pm disable / settings put は事前にパッケージ名・設定値を確認
- 変更前にメモを取る — 元の値を adb shell settings get system/secure/global [キー名] で記録、戻せるようにしておく
- バックアップは必ず — データ救出目的以外でも、adb pull /sdcard/ で定期的にファイルバックアップ。adb backup に頼らずファイル直接バックアップが確実
ADB は正しく使えば強力なトラブルシューティングツールです。画面が壊れた・アプリが削除できない・システム設定を微調整したい——そんな時に、この記事のコマンド一覧を参照してください。