adb環境の構築と利用
adbとは何ですか
ADB の正式名は Android Debug Bridage で、デバッグ ブリッジとして機能します。ADB ツールを通じて Android プログラムをデバッグできます。
環境整備
Java環境を構成する
公式 Web サイトから jdk インストール パッケージをダウンロードし、jdk をインストールし、環境変数を設定します (java/bin および jre/bin ディレクトリをシステム変数の PATH に設定します)。
adb環境を構成する
公式 Web サイトから platform-tools をダウンロードして解凍し、add.exe ディレクトリをシステム環境変数 PATH に配置します。
確認する
cmd ウィンドウを開き、「adb version」と入力して Enter キーを押すと、構成が成功したことを示すバージョン番号が表示されます。
デバイスを接続する
エミュレータに接続 - Wi-Fi
-
エミュレータを開きます
-
開発者モードをオンにする
-
設定で、「この Mac について」をクリックし、「すでに開発者モードになっているため、この操作を実行する必要はありません」というメッセージが表示されるまで、バージョン番号 (ネイティブ バージョン番号またはブランドのバージョン番号) を数回連続してクリックします。
-
開発者モードのオプションに入り、USB デバッグをオンにします
- 接続が成功したかどうかを確認します: 接続されているデバイスを表示します
zydeMacBook-Air:~ zy$ adb devices
List of devices attached
192.168.56.113:5555 device
上記は接続が成功したことを示しています。
実機接続
USBケーブルで接続する
データケーブル機能: 充電、ファイル転送、adb ドライバー。オリジナルのデータ ケーブルを選択するのが最善ですが、オンライン ショッピング プラットフォームで購入したコンフィグレーション データ ケーブルの場合、adb ドライバー機能が欠けているなど、機能が少ない場合があります。
- データケーブルを使用して実機とPCを接続します
- 実機で開発者モードをオンにする
- 実際のHongmengシステムの電話機で開発者モードをオンにする方法: [設定] - [電話機について] - [バージョン番号]、バージョン番号を連続してクリックします。開発者モードには、システムとアップデートに開発者向けオプションがあります。USB デバッグをオンにします。
- Xiaomi 携帯電話で開発者モードをオンにする方法: [設定] - [マイ デバイス] - [MIUI バージョン番号]、バージョン番号を連続してクリックします。開発者モードには、より多くの設定に開発者向けオプションがあります。USB デバッグをオンにします。
- adbデバイスを使用して接続が成功したかどうかを確認します
初めて実マシンに接続すると、デバイスが承認されていないことを示す adb デバイスが表示される場合があります。これは、携帯電話が承認されていないことを意味します。このとき、実機を表示するとUSBデバッグを許可するかどうかの認証ボックスが表示されますので、「デバッグにこのコンピュータの使用を常に許可する」にチェックを入れて「OK」をクリックします。adb devicesを再度実行すると通常の状態に戻ります。
Wi-Fi経由で接続する
- 前提条件:
-
携帯電話とコンピュータが同じLAN上にある
-
コンピューターのファイアウォールをオフにします (さまざまなシステムでファイアウォールをオフにする方法については、Baidu を参照してください)。
-
ウイルス対策ソフトを終了する
- adb connect コマンドを使用してデバイスを接続します
zydeMacBook-Air:~ zy$ adb connect 192.168.110.121:5555
failed to connect to '192.168.110.121:5555': Connection refused
5555 は、実デバイスが adb に接続するためのデフォルトのポートです。
接続が拒否されましたと表示された場合は、方向を確認し、ポート5555の接続状態を確認してください。
zydeMacBook-Air:~ zy$ adb tcpip 5555
error: no devices/emulators found
ポート 5555 にデバイスが接続されていないことが示されています。
複数のデバイス/エミュレータが表示される場合は、adb切断を使用して最初に切断します。他の機器が接続されている場合、実機とWi-Fi接続できません。切断してから、Wi-Fi 経由で携帯電話に接続してみてください。それでも接続が拒否されましたが表示される場合は、以下をお読みください。
adb ディスプレイ接続が拒否された場合の解決策
理由: adbd はネットワーク接続を監視していません
解決策: adbd サービスのポート 5555 を開きます。
まず電話をUSBで接続してから実行してください
zydeMacBook-Air:~ zy$ adb shell
HNALA7:/ $ setprop service.adb.tcp.port 5555
次に、設定に移動し、「USB デバッグ」オプションをオフにしてから再度オンにします。次に、データ ケーブルを取り外し、adb connection コマンドを使用して電話機を接続します。
zydeMacBook-Air:~ zy$ adb connect 192.168.110.121:5555
connected to 192.168.110.121:5555
adbの基本コマンド
共通コマンド
- adb devices - 現在接続されているすべてのデバイスを識別します (学習する必要があります)
- adb logcat - システム ログ キャプチャ (学習する必要があります)
モバイル端末のテストはクラッシュと ANR (応答なし) に重点を置いています
zydeMacBook-Air:~ zy$ adb logcat -v time>/Users/zy/Desktop/logcat0324.txt
モバイル テストを開始した後、このコマンドを使用すると、電話機で行われたすべての操作が記録され、データが指定されたパスにリダイレクトされます。-v はログ形式で出力し、time は時間情報を主行として使用します。
- adb install/uninstall—apk のインストールとアンインストール (学習が必要)
zydeMacBook-Air:~ zy$ adb install /Users/zy/Downloads/App_JCSample2.10.1.apk
Performing Streamed Install
Success
APK をコマンド ライン ウィンドウに直接ドラッグすることで、パスをすばやく追加できます。
zydeMacBook-Air:~ zy$ adb uninstall com.juphoon.mmetester
Success
パラメータはパッケージ名です。パッケージ名は、電話機上のアプリケーションの一意の識別コードです。
- adb pull/push - ファイルのインポートとエクスポート (学習が必要)
例として、次のコマンドを使用してアプリケーションの実行ログをキャプチャします。
zydeMacBook-Air:~ zy$ adb pull /sdcard/Android/data/com.juphoon.cloud.sample/files/log /Users/zy/Desktop/log_test
/sdcard/Android/data/com.juphoon.cloud...ed. 2.5 MB/s (6266184 bytes in 2.408s)
使用法: adb pull ログが配置されているパスがローカル パスにエクスポートされます。
別の使い方:
アプリケーションが応答しなくなると、システムは anr ログを出力します。このログは、携帯電話の /data/anr ディレクトリの traces.txt ファイルに保存されます。作業中にシステムが応答しなくなった場合は、traces.txt コマンドをローカルにエクスポートし、開発に送信する必要があります。
zydeMacBook-Air:~ zy$ adb shell
HNALA7:/ $ cd /data/anr
HNALA7:/data/anr $ ls
anr_2022-03-03-18-02-33-971
上の図に示すように、私の携帯電話ではtraces.txtファイルが生成されないため、アプリケーションコマンドはここには掲載されていません。
- adb start/kill-server - プロセスの開始と強制終了
- adb Shell—Android システムに入り、シェル コマンドを実行します (学習が必要)
- adb shell am start - アプリケーションを開始します
- adb shell pm - アプリケーションパッケージ名の一覧表示
- abd Shell PM list Packages - 現在デバイスまたは仮想マシンに接続されているすべてのパッケージを表示します
- adb shell pm list package -s - システム パッケージのみを出力します
- adb Shell pm list Packages -3 - すべてのサードパーティ パッケージを出力します。
- adb Shell pm list Packages -f - 出力パッケージおよびパッケージに関連付けられたファイル (インストール パス)
- adb Shell pm list Packages -i - パッケージとインストール情報(インストールソース)を出力します。
- adb shell pm listpackages "lzy" - フィルタ条件を含む出力パッケージ
- adb shell pm list package -e - 有効なパッケージのみを出力します
- adb shell pm list package -d - 無効なパッケージのみを出力します
- adb Shell pm list Packages -u - パッケージおよびアンインストールされたパッケージ情報のみを出力します(インストールソース)
- adb Shell PM パス パッケージ - APK が配置されているシステム パスを見つけます。
上記のコマンド
-
adb バージョン—adb バージョン番号を表示します
-
adb connect [ip]:[port]——ネットワーク経由でモバイル端末に接続します
-
adb切断[ip]:[ポート]——モバイル端末をネットワーク経由で切断します
-
adb tcpip 5555 - tcpip プロトコルの 5555 ポートを開始します (操作するにはデータ ラインに接続する必要があります)
-
adb -s デバイス番号 - 操作するデバイスを指定します