この記事では、パソコンがない環境でadbコマンドを実行する方法を紹介します。
ちょっと条件が厳しいですが、、数パターンの手順を解説しているので、ぜひどうぞ。
PCなしでadbコマンドを使う方法
adb(Android Debug Bridge)コマンドを使えば、通常の設定画面からは行えない、高度なカスタマイズ指示をAndroidへ与えることが可能です。
割と簡単に操作できるツールとなっていますが、基本はUSB接続したパソコンから操作が必要です。
関連記事 Windowsでadbコマンドを使う方法
関連記事 Macでadbコマンドを使う方法
ただ工夫すれば、1台のスマートフォン上の操作だけでadbコマンドを実行できます。
まず、Shizukuをインストールします。
最初は「Shizukuは停止中」と出るので、初期設定が必要です。
「ワイヤレスデバッグで開始」の ペアリング を開き、通知権限を許可します。
次に開発者向けオプションを開きます。
初めて使う場合、設定アプリ内にある、デバイスのビルド番号を連続タップしてください。
関連記事 Androidの開発者向けオプションを表示/非表示にする方法
開発者向けオプションのメニュー ワイヤレスデバッグ をオンにします。
続けて ワイヤレスデバッグ の詳細メニューを開きます。
ペア設定コードによるデバイスのペア設定 を選択するとコードが表示されるので、Shizuku側へ通知します。
「ペアリングしました」とメッセージが出ます。
これでShizukuを開くと、「Shizukuは実行中」ステータスに変わります。
続いてaShellというアプリを導入します。
上記リンクにアクセスして、apkファイルを入手・インストールしましょう。
関連記事 Androidでapkファイルをインストールする方法
aShellを起動すると、Shizukuへのアクセスが求められるので許可します。
Start で準備OK。
コマンド入力画面に切り替われば成功です。
ここから先は、通常のadbコマンド入力と大差ありません。
▼例:アプリのパッケージ名を調べる
adb shell pm list packages
もしaShellで以下の画面が出る場合、Shizukuがうまく動作していません。
Shizukuが停止している場合、ワイヤレスデバッグを再び開始しましょう。
参考:その他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コマンドを実行する方法です。
操作は次の流れです。
- USB OTGケーブルと2台目のAndroidを用意する
- 開発者向けオプションでUSBデバッグを有効にする
- ADB OTGアプリでスマホ同士を接続する
1. USB OTGケーブルと2台目のAndroidを用意する
USB OTGケーブルでAndroid同士を繋ぐため、端子形状(micro USB / Type C)は2台それぞれに合ったものを準備しましょう。
またパソコンの代わりにスマートフォンからコマンド指示を送るため、2台目のAndroidも用意してください。
2. 開発者向けオプションでUSBデバッグを有効にする
Androidで設定の システム から 開発者向けオプション を開き、
初めて開発者向けオプションを使う場合、デバイス情報の ビルド番号 を連続タップして、メニューを表示させて下さい。
詳細は関連記事【Androidの開発者向けオプションを表示/非表示にする方法! デベロッパーモードで隠れ機能を使おう】で解説しています。
USBデバッグを有効にします。
USBデバッグの特徴・リスクについては、関連記事【AndroidでUSBデバッグを有効/無効にする方法! 設定をオンオフ切り替えよう】で解説しています。
3. ADB OTGアプリでスマホ同士を接続する
ADB OTGをインストールします。
この状態でAndroid同士をUSB接続します。
ADB OTGをインストールした2台目のAndroid(adbコマンドの指示を送る”元”)で、次のメッセージが出るので OK を選択します。
ADB⚡OTGを起動して●●(機種名)を処理しますか?
すると1台目のAndroid(adbコマンドの指示を送る”先”)で下記メッセージが出るので、このパソコンからのUSBデバッグを常に許可する にチェックを入れましょう。
USBデバッグを許可しますか? このパソコンのRSAキーのフィンガープリント:
これでADB OTGをインストールした2台目のAndroid(adbコマンドの指示を送る”元”)で、コマンド入力画面に切り替われば成功。
ここから先は、通常のadbコマンド入力と大差ありません。
▼例:SDカードを内部ストレージ化するadbコマンド
sm partition disk:<SDカード名> private
関連記事 AndroidでSDカードを内部ストレージ化する方法
もしうまくいかない場合、1台目のAndroid(adbコマンドの指示を送る”先”)で、USBの管理を”このデバイス”に切り替えてみて下さい。
それでも反応がない場合、次の2点が原因であるケースが多いです。
- AndroidのUSBデバッグを有効にしているか
- 「このパソコンからのUSBデバッグを常に許可する」にチェックを入れたか
以上、2台目のAndroidからadbコマンドを実行する方法でした。
スマートフォンが複数台必要なため、ハードルは決して低くありません。
とはいえ、パソコン不要でadbコマンドを実行できる数少ない手段となるため、条件に合致する方はぜひ。
なおPlayストアでは、類似アプリが配信されています(”adb otg”と検索すればヒットします)。
ADB OTGとの相性が悪ければ、試してみて下さい。
方法②:ネットワーク経由で端末自身に実行する(最初にPC必要)
adbコマンドの入力は、USBケーブルの接続が前提です。
が、もう1つのやり方として、Wi-Fi経由での実行も可能です。
この仕組みを活用して、Androidに何らかのターミナルアプリをインストールの上、ネットワーク経由で自分自身に対してadbコマンドを実行します。
ただしデフォルトではネットワーク経由の実行は塞がれており、許可操作にはUSB接続したパソコンが必要となります。
操作は次の流れです。
- パソコンのadb環境等を用意する
- 開発者向けオプションでUSBデバッグを有効にする
- adb devicesで接続確認する
- ポート番号を変えてTCP/IP接続へ切り替える(adb tcpip 5555)
- ターミナルアプリで自分自身に接続する(adb connect)
1. パソコンのadb環境等を用意する
お使いのパソコンでadbコマンドを使用できる環境を用意して下さい。
Windows・Macそれぞれにおける手順は関連記事で解説しています。
また、パソコンとAndroidを接続するケーブルが必要です。
スマートフォンのUSB端子形状(micro USB / Type C)に合わせ用意しましょう。
2. 開発者向けオプションでUSBデバッグを有効にする
Androidで設定の システム から 開発者向けオプション を開き、
初めて開発者向けオプションを使う場合、デバイス情報の ビルド番号 を連続タップして、メニューを表示させて下さい。
詳細は関連記事【Androidの開発者向けオプションを表示/非表示にする方法! デベロッパーモードで隠れ機能を使おう】で解説しています。
USBデバッグを有効にします。
USBデバッグの特徴・リスクについては、関連記事【AndroidでUSBデバッグを有効/無効にする方法! 設定をオンオフ切り替えよう】で解説しています。
この状態でAndroidとパソコンをUSB接続します。
もしUSB接続の選択画面が出る場合、「ファイル転送モード」を選べばOK。
3. adb devicesで接続確認する
adb環境を用意したパソコンで、次のコマンドを実行します。
adb devices
次のようなメッセージが表示され、接続したAndroid実機を認識できればOKです。
List of devices attached xxx(デバイス情報) device
なお初めて接続するパソコンの場合、Android側で下記メッセージが出るので、このパソコンからのUSBデバッグを常に許可する にチェックを入れましょう。
USBデバッグを許可しますか? このパソコンのRSAキーのフィンガープリント:
一方、次のメッセージが出る場合、Android実機を認識できていません。
List of devices attached xxx(デバイス情報) unauthorized
次の2点が原因であるケースが多いので、確認して下さい。
- AndroidのUSBデバッグを有効にしているか
- 「このパソコンからのUSBデバッグを常に許可する」にチェックを入れたか
以上が、adbコマンドを使用する事前準備です。
4. ポート番号を変えてTCP/IP接続へ切り替える(adb tcpip 5555)
次のコマンドを実行します。
adb tcpip 5555
下記メッセージが出ればOK。
restarting in TCP mode port: 5555
これでAndroid側が、ネットワークでのadb接続を待ち受ける状態になりました。
5. ターミナルアプリで自分自身に接続する(adb connect)
Androidにターミナルアプリをインストールして下さい。
本記事では、Remote ADB Shellを使って説明します。
まず設定の デバイス情報 から、自身のIPアドレスを確認して下さい。
▼IPアドレスの例
192.168.xxx.xx
次にRemote ADB Shellを開き、「IP address or host name」に確認したIPアドレスを入力して CONNECT 。
下記メッセージが出るので、このパソコンからのUSBデバッグを常に許可する にチェックを入れましょう。
USBデバッグを許可しますか? このパソコンのRSAキーのフィンガープリント:
これでコマンド入力画面に切り替われば成功です。
ここから先は、通常のadbコマンド入力と大差ありません。
▼例:不要なプリインストールアプリを無効化するadbコマンド
adb shell pm disable-user --user 0 <アプリのパッケージ名>
関連記事 Androidでプリインストールアプリを強制的に無効化する方法
もしうまくいかない場合、次の2点が原因であるケースが多いです。
- adb tcpip 5555でポート番号が変わっているか
- 自身のIPアドレスは正しいか
以上、Android上の操作でadbコマンドを実行する方法でした。
パソコンを使った設定が必要なのは初回だけで、以降はAndroid単体でadbコマンドの実行が可能となります。
方法③:ネットワーク経由で端末自身に実行する(root環境が必要)
adbコマンドの入力は、USBケーブルの接続が前提です。
が、もう1つのやり方として、Wi-Fi経由での実行も可能です。
この仕組みを活用して、Androidに何らかのターミナルアプリをインストールの上、ネットワーク経由で自分自身に対してadbコマンドを実行します。
ほんらいネットワーク経由の実行は塞がれており、許可操作にはUSB接続したパソコンが必要となります。
ただroot環境があれば、すべてスマートフォン1台で完結可能です。
操作は次の流れです。
- Androidのroot環境を用意する
- アプリADB WifiでTCP/IP接続へ切り替える
- ターミナルアプリで自分自身に接続する(adb connect)
1. Androidのroot環境を用意する
お使いのAndroid端末で、root環境を用意してください。
関連記事 Androidをroot化する方法まとめ
2. アプリADB WifiでTCP/IP接続へ切り替える
root環境のあるAndroidであれば、スーパーユーザー権限を付与したアプリを使って、ネットワーク経由のadbコマンド実行を許可できます。
本記事では、ADB Wifiを使って説明します。
最初にスーパーユーザー権限の付与が必要です。
次に、ADB Wifiのトップ画面より Start ADB Over WIFI を有効にして下さい。
なおクイック設定パネルにタイルを追加して、切り替えも可能です。
これでAndroid側が、ネットワークでのadb接続を待ち受ける状態になりました。
3. ターミナルアプリで自分自身に接続する(adb connect)
Androidにターミナルアプリをインストールして下さい。
本記事では、Remote ADB Shellを使って説明します。
ADB Wifiのトップ画面より、自身のIPアドレスを確認して下さい。
なおクイック設定パネルに追加したタイルでも表示されます。
192.168.xxx.xx
次にRemote ADB Shellを開き、「IP address or host name」に確認したIPアドレスを入力して CONNECT 。
下記メッセージが出るので、このパソコンからのUSBデバッグを常に許可する にチェックを入れましょう。
USBデバッグを許可しますか? このパソコンのRSAキーのフィンガープリント:
これでコマンド入力画面に切り替われば成功です。
ここから先は、通常のadbコマンド入力と大差ありません。
▼例:アプリに特別な権限を付与するadbコマンド
adb shell pm grant <アプリのパッケージ名> android.permission.WRITE_SECURE_SETTINGS
関連記事 Androidを全画面表示する方法
もしうまくいかない場合、次の2点が原因であるケースが多いです。
- ADB Wifiにスーパーユーザー権限が付与されているか
- 自身のIPアドレスは正しいか
以上、Android上の操作でadbコマンドを実行する方法でした。
root環境さえあれば、完全にAndroid単体でadbコマンドの実行が可能となります。
条件に合致していれば、ぜひ検討下さい。
〆:スマホだけでadb操作しよう!
以上、スマホのみでadbコマンドを使う方法! パソコンなしでAndroidを改造しよう の説明でした。
紹介した方法はいずれもクセがありますが、、パソコンがない状況でadbコマンドを実行したいニーズがあればご参考下さい。
関連記事 adbコマンドのできること一覧
コメント
Android 8の端末は出来ましたが、Android 7,0の端末は出来ませんでした。
両端末ともXperiaです。
7,0では対応してないですか?
接続しても(1 アプリを開いた状態で)何も起こらずコマンドをうつ画面に行けませんんどうすればいいですか
termuxとshizukuを使ってコマンドを使う方法も載せておいたほうがいいと思います(少し複雑ですが…)