スマホのみでadbコマンドを使う方法! パソコンなしでAndroidを改造しよう

スポンサーリンク
Android

この記事では、パソコンがない環境でadbコマンドを実行する方法を紹介します。

ちょっと条件が厳しいですが、、数パターンの手順を解説しているので、ぜひどうぞ。

 

スポンサーリンク
スポンサーリンク

PCなしでadbコマンドを使う方法

adb(Android Debug Bridge)コマンドを使えば、通常の設定画面からは行えない、高度なカスタマイズ指示をAndroidへ与えることが可能です。

割と簡単に操作できるツールとなっていますが、基本はUSB接続したパソコンから操作が必要です。

関連記事 Windowsでadbコマンドを使う方法

関連記事 Macでadbコマンドを使う方法

ただ工夫すれば、1台のスマートフォン上の操作だけでadbコマンドを実行できます。

Android 11以降が条件です。

まず、ShizukuのアイコンShizukuをインストールします。

Shizuku
Shizuku
開発者: Xingchen & Rikka
金額: 無料

最初は「Shizukuは停止中」と出るので、初期設定が必要です。

「ワイヤレスデバッグで開始」の ペアリング を開き、通知権限を許可します。

ネットワーク経由で端末自身に実行する手順1

(左)ペアリング (右)通知オプション

ネットワーク経由で端末自身に実行する手順2

(左)通知を許可 (右)「ペアリングサービスを探しています」通知が出る

次に開発者向けオプションを開きます。

初めて使う場合、設定のアイコン設定アプリ内にある、デバイスのビルド番号を連続タップしてください。

関連記事 Androidの開発者向けオプションを表示/非表示にする方法

ネットワーク経由で端末自身に実行する手順3

Pixel 7aの例。デバイス情報を開き(左)、ビルド番号を連続タップ(右)。

開発者向けオプションのメニュー ワイヤレスデバッグオンのアイコンオンにします。

ネットワーク経由で端末自身に実行する手順4

ワイヤレスデバッグをオン

続けて ワイヤレスデバッグ の詳細メニューを開きます。

スイッチオンのアイコン左側の部分をタップしてください。

ペア設定コードによるデバイスのペア設定 を選択するとコードが表示されるので、ShizukuのアイコンShizuku側へ通知します。

ネットワーク経由で端末自身に実行する手順5

(左)赤枠部分をタップ (右)ペア設定コードによるデバイスのペア設定

ネットワーク経由で端末自身に実行する手順6

(左)ペア設定コードが出る (右)Shizuku通知内で入力する

「ペアリングしました」とメッセージが出ます。

これでShizukuのアイコンShizukuを開くと、「Shizukuは実行中」ステータスに変わります。

ネットワーク経由で端末自身に実行する手順7

(左)ペアリングしました (右)Shizukuは実行中

続いてaShellのアイコンaShellというアプリを導入します。

上記リンクにアクセスして、apkファイルを入手・インストールしましょう。

関連記事 Androidでapkファイルをインストールする方法

ネットワーク経由で端末自身に実行する手順8

(左)aShellの配布サイト (右)apkをインストール

aShellのアイコンaShellを起動すると、ShizukuのアイコンShizukuへのアクセスが求められるので許可します。

Start で準備OK。

ネットワーク経由で端末自身に実行する手順9

(左)許可 (右)Start

コマンド入力画面に切り替われば成功です。

ここから先は、通常のadbコマンド入力と大差ありません。

▼例:アプリのパッケージ名を調べる

adb shell pm list packages
ネットワーク経由で端末自身に実行する手順10

pm list packages

関連記事 Androidアプリのパッケージ名を調べる方法

もしaShellのアイコンaShellで以下の画面が出る場合、ShizukuのアイコンShizukuがうまく動作していません。

ネットワーク経由で端末自身に実行する手順11

aShell起動に失敗したときの画面

ShizukuのアイコンShizukuが停止している場合、ワイヤレスデバッグを再び開始しましょう。

端末を再起動すると初期設定がリセットされるため、最初のワイヤレスデバッグのペアリング設定からやり直す必要があります。
ネットワーク経由で端末自身に実行する手順12

ワイヤレスデバッグを再開する

 

参考:その他PCなしでadbコマンドを使う方法いろいろ

さらに3パターンの方法を紹介します。

方法 条件
①:USB OTG接続したAndroid同士で
adbコマンドを実行する
2台目のAndroidが必要
②:ネットワーク経由で端末自身に
adbコマンドを実行する(その2)
初期設定でPCが必要
※再起動の都度
③:ネットワーク経由で端末自身に
adbコマンドを実行する(その3)
root環境が必要

いずれもスマートフォン1台で完結はできず、最初のセットアップのとき、2台目のAndroid、パソコンまたはroot環境が必要となります。

方法①:USB OTG接続したAndroid同士で実行する

2台のスマートフォンをUSB接続して、片方からもう一方に対して、adbコマンドを実行する方法です。

操作は次の流れです。

  1. USB OTGケーブルと2台目のAndroidを用意する
  2. 開発者向けオプションでUSBデバッグを有効にする
  3. ADB OTGアプリでスマホ同士を接続する

1. USB OTGケーブルと2台目のAndroidを用意する

USB OTGケーブルでAndroid同士を繋ぐため、端子形状(micro USB / Type C)は2台それぞれに合ったものを準備しましょう。

【OTGケーブルとは?】 – 「USB On-The-Go」の略。別名「USBホストケーブル」。Androidをホスト(親)にして接続先を充電したり、マウスやUSBメモリの接続が可能となるケーブル。

またパソコンの代わりにスマートフォンからコマンド指示を送るため、2台目のAndroidも用意してください。

2. 開発者向けオプションでUSBデバッグを有効にする

この設定が必要なのは、1台目のAndroid(adbコマンドの指示を送る”先”)です。

AndroidでAndroid設定アプリのアイコン設定の システム から 開発者向けオプション を開き、

開発者向けオプションを開く手順

USBデバッグを有効にします。

開発者向けオプションでUSBデバッグを有効にする手順

3. ADB OTGアプリでスマホ同士を接続する

アプリが必要なのは、2台目のAndroid(adbコマンドの指示を送る”元”)です。

ADB OTGアプリのアイコンADB OTGをインストールします。

ADB⚡OTG - Android Debug Bridge
ADB⚡OTG - Android Debug Bridge

この状態でAndroid同士をUSB接続します。

ADB OTGアプリでスマホ同士を接続する手順1

Pixel 3a XL(左)とAQUOS sense3(右)を繋いだ例。

ADB OTGアプリのアイコンADB OTGをインストールした2台目のAndroid(adbコマンドの指示を送る”元”)で、次のメッセージが出るので OK を選択します。

ADB⚡OTGを起動して●●(機種名)を処理しますか?
ADB OTGアプリでスマホ同士を接続する手順2

(左)ADB OTGアプリのトップ画面 (右)表示されるメッセージ

すると1台目のAndroid(adbコマンドの指示を送る”先”)で下記メッセージが出るので、このパソコンからのUSBデバッグを常に許可する にチェックを入れましょう。

USBデバッグを許可しますか?
このパソコンのRSAキーのフィンガープリント:

ADB OTGアプリでスマホ同士を接続する手順3

これでADB OTGアプリのアイコンADB OTGをインストールした2台目のAndroid(adbコマンドの指示を送る”元”)で、コマンド入力画面に切り替われば成功。

ADB OTGアプリでスマホ同士を接続する手順4

ここから先は、通常のadbコマンド入力と大差ありません。

▼例:SDカードを内部ストレージ化するadbコマンド

sm partition disk:<SDカード名> private
ADB OTGアプリでスマホ同士を接続する手順5

(左)入力するコマンド (右)SDカードが内部ストレージの一部となる

関連記事 AndroidでSDカードを内部ストレージ化する方法

もしうまくいかない場合、1台目のAndroid(adbコマンドの指示を送る”先”)で、USBの管理を”このデバイス”に切り替えてみて下さい。

ADB OTGアプリでスマホ同士を接続する手順6

通知からオプションを開き(左)、USBの管理を”このデバイス”に切り替える(右)。

それでも反応がない場合、次の2点が原因であるケースが多いです。

  • AndroidのUSBデバッグを有効にしているか
  • 「このパソコンからのUSBデバッグを常に許可する」にチェックを入れたか

以上、2台目のAndroidからadbコマンドを実行する方法でした。

スマートフォンが複数台必要なため、ハードルは決して低くありません。

とはいえ、パソコン不要でadbコマンドを実行できる数少ない手段となるため、条件に合致する方はぜひ。

なおPlayストアアプリのアイコンPlayストアでは、類似アプリが配信されています(”adb otg”と検索すればヒットします)。

ADB OTGアプリのアイコンADB OTGとの相性が悪ければ、試してみて下さい。

方法②:ネットワーク経由で端末自身に実行する(最初にPC必要)

adbコマンドの入力は、USBケーブルの接続が前提です。

が、もう1つのやり方として、Wi-Fi経由での実行も可能です。

この仕組みを活用して、Androidに何らかのターミナルアプリをインストールの上、ネットワーク経由で自分自身に対してadbコマンドを実行します。

ただしデフォルトではネットワーク経由の実行は塞がれており、許可操作にはUSB接続したパソコンが必要となります。

つまり初回設定時にパソコンが必要なため、完全にスマートフォン1台だけで完結する方法ではありません。さらに再起動する度にリセットされるため、その都度パソコン操作が求められます。

操作は次の流れです。

  1. パソコンのadb環境等を用意する
  2. 開発者向けオプションでUSBデバッグを有効にする
  3. adb devicesで接続確認する
  4. ポート番号を変えてTCP/IP接続へ切り替える(adb tcpip 5555)
  5. ターミナルアプリで自分自身に接続する(adb connect)

1. パソコンのadb環境等を用意する

お使いのパソコンでadbコマンドを使用できる環境を用意して下さい。

Windows・Macそれぞれにおける手順は関連記事で解説しています。

Windowsでadbコマンドを使う方法! Android SDKを入れてパソコンのコマンドプロンプトから操作しよう
この記事では、Windows PCでadbコマンドを使う方法を解説します。
Macでadbコマンドを使う方法! Android Studioを入れてmacOSのターミナルから操作しよう
この記事では、Macでadbコマンドを使う方法を解説します。

また、パソコンとAndroidを接続するケーブルが必要です。

スマートフォンのUSB端子形状(micro USB / Type C)に合わせ用意しましょう。

2. 開発者向けオプションでUSBデバッグを有効にする

AndroidでAndroid設定アプリのアイコン設定の システム から 開発者向けオプション を開き、

開発者向けオプションを開く手順

USBデバッグを有効にします。

開発者向けオプションでUSBデバッグを有効にする手順

この状態でAndroidとパソコンをUSB接続します。

もしUSB接続の選択画面が出る場合、「ファイル転送モード」を選べばOK。

USB接続の用途を「ファイル転送モード」にする説明

3. adb devicesで接続確認する

adb環境を用意したパソコンで、次のコマンドを実行します。

adb devices
adb devicesで接続確認する手順1

Windowsの例。コマンドプロンプトで入力する。

次のようなメッセージが表示され、接続したAndroid実機を認識できればOKです。

xxxの部分は、そのデバイス固有の識別情報が英数字で表示されます。
List of devices attached
xxx(デバイス情報) device

adb devicesで接続確認する手順2

なお初めて接続するパソコンの場合、Android側で下記メッセージが出るので、このパソコンからのUSBデバッグを常に許可する にチェックを入れましょう。

USBデバッグを許可しますか?
このパソコンのRSAキーのフィンガープリント:

adb devicesで接続確認する手順3

一方、次のメッセージが出る場合、Android実機を認識できていません。

List of devices attached
xxx(デバイス情報) unauthorized

adb devicesで接続確認する手順4

次の2点が原因であるケースが多いので、確認して下さい。

  • AndroidのUSBデバッグを有効にしているか
  • 「このパソコンからのUSBデバッグを常に許可する」にチェックを入れたか

以上が、adbコマンドを使用する事前準備です。

4. ポート番号を変えてTCP/IP接続へ切り替える(adb tcpip 5555)

次のコマンドを実行します。

adb tcpip 5555

下記メッセージが出ればOK。

restarting in TCP mode port: 5555

adb tcpip 5555でポート番号を変えてTCP/IP接続へ切り替える手順

これでAndroid側が、ネットワークでのadb接続を待ち受ける状態になりました。

5. ターミナルアプリで自分自身に接続する(adb connect)

Androidにターミナルアプリをインストールして下さい。

本記事では、Remote ADB ShellのアイコンRemote ADB Shellを使って説明します。

他にもBugjaeger Mobile ADBのアイコンBugjaeger Mobile ADBなど、リモート接続に対応したアプリであればOKです。PlayストアアプリのアイコンPlayストアで”adb wifi”と検索すればヒットします。

まずAndroid設定アプリのアイコン設定の デバイス情報 から、自身のIPアドレスを確認して下さい。

▼IPアドレスの例

192.168.xxx.xx
Remote ADB Shellのターミナルアプリで自分自身に接続する手順1

Xperia 10 IIの設定アプリの例。

次にRemote ADB ShellのアイコンRemote ADB Shellを開き、「IP address or host name」に確認したIPアドレスを入力して CONNECT

Remote ADB Shellのターミナルアプリで自分自身に接続する手順2

自分自身にadb connectするイメージ。

下記メッセージが出るので、このパソコンからのUSBデバッグを常に許可する にチェックを入れましょう。

USBデバッグを許可しますか?
このパソコンのRSAキーのフィンガープリント:

これでコマンド入力画面に切り替われば成功です。

Remote ADB Shellのターミナルアプリで自分自身に接続する手順3

(左)USBデバッグの許可画面 (右)コマンド入力画面

ここから先は、通常のadbコマンド入力と大差ありません。

▼例:不要なプリインストールアプリを無効化するadbコマンド

adb shell pm disable-user --user 0 <アプリのパッケージ名>
Remote ADB Shellのターミナルアプリで自分自身に接続する手順4

(左)入力するコマンド (右)docomo LIVE UXが無効となる

関連記事 Androidでプリインストールアプリを強制的に無効化する方法

もしうまくいかない場合、次の2点が原因であるケースが多いです。

  • adb tcpip 5555でポート番号が変わっているか
  • 自身のIPアドレスは正しいか
Remote ADB Shellのターミナルアプリで自分自身に接続する手順5

(右)ポート番号が変わってないとき出るメッセージ例。

以上、Android上の操作でadbコマンドを実行する方法でした。

パソコンを使った設定が必要なのは初回だけで、以降はAndroid単体でadbコマンドの実行が可能となります。

再起動すると初期設定がリセットされるため、再びUSB接続したパソコンでの操作が必要となります。

方法③:ネットワーク経由で端末自身に実行する(root環境が必要)

adbコマンドの入力は、USBケーブルの接続が前提です。

が、もう1つのやり方として、Wi-Fi経由での実行も可能です。

この仕組みを活用して、Androidに何らかのターミナルアプリをインストールの上、ネットワーク経由で自分自身に対してadbコマンドを実行します。

ほんらいネットワーク経由の実行は塞がれており、許可操作にはUSB接続したパソコンが必要となります。

ただroot環境があれば、すべてスマートフォン1台で完結可能です。

今回紹介する3つの方法の中で、唯一スマートフォン1台で完結する方法となります。ただしroot環境が条件となるため、かなりハードルは高めです。。。

操作は次の流れです。

  1. Androidのroot環境を用意する
  2. アプリADB WifiでTCP/IP接続へ切り替える
  3. ターミナルアプリで自分自身に接続する(adb connect)

1. Androidのroot環境を用意する

お使いのAndroid端末で、root環境を用意してください。

関連記事 Androidをroot化する方法まとめ

2. アプリADB WifiでTCP/IP接続へ切り替える

root環境のあるAndroidであれば、スーパーユーザー権限を付与したアプリを使って、ネットワーク経由のadbコマンド実行を許可できます。

本記事では、ADB WifiのアイコンADB Wifiを使って説明します。

他にもWiFi ADBのアイコンWiFi ADBなど、類似アプリがあります。PlayストアアプリのアイコンPlayストアで”adb root”と検索すればヒットします。

最初にスーパーユーザー権限の付与が必要です。

rootアプリADB WifiでTCP/IP接続へ切り替える手順1

(左)スーパーユーザー権限の要求画面 (右)Magiskの設定画面

次に、ADB WifiのアイコンADB Wifiのトップ画面より Start ADB Over WIFI を有効にして下さい。

なおクイック設定パネルにタイルを追加して、切り替えも可能です。

rootアプリADB WifiでTCP/IP接続へ切り替える手順2

(左)ADB Wifiのトップ画面 (右)クイック設定パネル画面

これでAndroid側が、ネットワークでのadb接続を待ち受ける状態になりました。

3. ターミナルアプリで自分自身に接続する(adb connect)

Androidにターミナルアプリをインストールして下さい。

本記事では、Remote ADB ShellのアイコンRemote ADB Shellを使って説明します。

他にもBugjaeger Mobile ADBのアイコンBugjaeger Mobile ADBなど、リモート接続に対応したアプリであればOKです。PlayストアアプリのアイコンPlayストアで”adb wifi”と検索すればヒットします。

ADB WifiのアイコンADB Wifiのトップ画面より、自身のIPアドレスを確認して下さい。

なおクイック設定パネルに追加したタイルでも表示されます。

192.168.xxx.xx
adb connectで自分自身に接続する手順1

(左)ADB Wifiのトップ画面 (右)クイック設定パネル画面

次にRemote ADB ShellのアイコンRemote ADB Shellを開き、「IP address or host name」に確認したIPアドレスを入力して CONNECT

adb connectで自分自身に接続する手順2

自分自身にadb connectするイメージ。

下記メッセージが出るので、このパソコンからのUSBデバッグを常に許可する にチェックを入れましょう。

USBデバッグを許可しますか?
このパソコンのRSAキーのフィンガープリント:

これでコマンド入力画面に切り替われば成功です。

adb connectで自分自身に接続する手順3

(左)USBデバッグの許可画面 (右)コマンド入力画面

ここから先は、通常のadbコマンド入力と大差ありません。

▼例:アプリに特別な権限を付与するadbコマンド

adb shell pm grant <アプリのパッケージ名> android.permission.WRITE_SECURE_SETTINGS
例えばImmersive SettingsのアイコンImmersive Settingsに“WRITE_SECURE_SETTINGS”権限を付与すれば、フルスクリーンを自由に切り替えできます。
adb connectで自分自身に接続する手順4

(左)入力するコマンド (右)全画面表示となる

関連記事 Androidを全画面表示する方法

もしうまくいかない場合、次の2点が原因であるケースが多いです。

  • ADB Wifiにスーパーユーザー権限が付与されているか
  • 自身のIPアドレスは正しいか
adb connectで自分自身に接続する手順5

スーパーユーザー権限は、Magiskの画面から確認できる。

以上、Android上の操作でadbコマンドを実行する方法でした。

root環境さえあれば、完全にAndroid単体でadbコマンドの実行が可能となります。

条件に合致していれば、ぜひ検討下さい。

 

〆:スマホだけでadb操作しよう!

以上、スマホのみでadbコマンドを使う方法! パソコンなしでAndroidを改造しよう の説明でした。

紹介した方法はいずれもクセがありますが、、パソコンがない状況でadbコマンドを実行したいニーズがあればご参考下さい。

関連記事 adbコマンドのできること一覧

Android
スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク

コメント

  1. 名無しの権兵衛 より:

    Android 8の端末は出来ましたが、Android 7,0の端末は出来ませんでした。
    両端末ともXperiaです。
    7,0では対応してないですか?

  2. 匿名 より:

    接続しても(1 アプリを開いた状態で)何も起こらずコマンドをうつ画面に行けませんんどうすればいいですか

  3. 匿名 より:

    termuxとshizukuを使ってコマンドを使う方法も載せておいたほうがいいと思います(少し複雑ですが…)

タイトルとURLをコピーしました