Android開発
序文
基本的な使用
法のコマンド構文
adb コマンドの基本的な構文は次のとおりです。
adb [-d|-e|-s <serialNumber>] <command>
接続されているデバイス/エミュレータが 1 つだけの場合は、[-d|-e|-s] 部分を省略して、adb を直接使用できます。
コマンドの対象デバイスを指定します
複数のデバイス/エミュレータを接続している場合は、コマンドのターゲット デバイスを指定する必要があります。
パラメータの意味
-d は、現在 USB 経由で接続されている唯一の Android デバイスをコマンド ターゲットとして指定
します。 -e は、現在実行中の唯一のエミュレータをコマンド ターゲットとして指定します。
-s は、対応するシリアル番号番号を持つデバイス/エミュレータをコマンド ターゲットとして指定します。
-s パラメータは、複数のデバイス/シミュレータが接続されている場合によく使用され、serialNumber は adb devices コマンドで取得できます。のように:
$ adb devices
List of devices attached
cf264b8f device
emulator-5554 device
10.129.164.6:5555 device
出力内の cf264b8f、emulator-5554、および 10.129.164.6:5555 は、serialNumber です。
たとえば、デバイス cf264b8f を指定して adb コマンドを実行して画面解像度を取得するとします。
adb -s cf264b8f shell wm size
もう 1 つの例は、デバイス 10.129.164.6:5555 にアプリケーションをインストールすることです (この形式のシリアル番号の形式は : で、これは通常、ワイヤレス接続されたデバイスまたは Genymotion などのサードパーティの Android エミュレータです)。
adb -s 10.129.164.6:5555 install test.apk
複数のデバイス/シミュレータが存在する場合は、これらのパラメータを使用してコマンドのターゲット デバイスを指定します。以下の説明は簡略化されているため、繰り返しません。
起動停止
adb サーバーコマンドを開始します。
adb start-server
(通常、このコマンドを手動で実行する必要はありません。adb コマンド実行時に adb サーバーが起動していないことが判明した場合は、自動的に adb サーバーが呼び出されます。)
adb サーバーを停止するコマンド:
adb kill-server
adbのバージョンを確認する
注文:
adb version
出力例:
Android Debug Bridge version 1.0.36
Revision 8f855a3d9b35-android
root権限でadbdを実行する
adb の動作原理は、PC 側の adb サーバーが携帯電話側のデーモン プロセス adbd との接続を確立し、PC 側の adb クライアントが adb サーバー経由でコマンドを転送し、adbd が解析して実行されるというものです。コマンドを受信しています。
したがって、adbd が通常の権限で実行される場合、root 権限を必要とする一部のコマンドは adb xxx で直接実行できません。このとき、adb shellでコマンドを実行してからsuすることもできますし、adbdにroot権限で実行させることもでき、高い権限のコマンドを自由に実行することができます。
注文:
adb root
通常の出力:
restarting adbd as root
次に、adb シェルを再度実行して、コマンド ライン プロンプトが #? に変わったかどうかを確認します。
一部の携帯電話が root 化されると、adb root コマンドを使用して root 権限で adbd を実行できなくなります。たとえば、Samsung の一部のモデルでは、運用ビルドでは adbd を root として実行できないというメッセージが表示されます。この時点では、最初に adbd Insecure をインストールしてから、次にadb rootを試してください。
同様に、adbd を root 以外の権限に復元する場合は、adb unroot コマンドを使用できます。
adbサーバーのネットワークポートを指定します
注文:
adb -P <port> start-server
デフォルトのポートは 5037 です。
デバイス接続管理
接続されているデバイス/シミュレーターのクエリ
注文:
adb devices
出力例:
List of devices attached
cf264b8f device
emulator-5554 device
10.129.164.6:5555 device
出力形式は [serialNumber] [state] です。serialNumber は私たちがよく SN と呼ぶもので、state には次のタイプがあります。
offline —— 表示设备未连接成功或无响应。
device —— 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到 adb,但启动完毕后系统才处于可操作状态。
no device —— 没有设备/模拟器连接。
上記の出力は、現在 3 つのデバイス/エミュレータが接続されていることを示しています。cf264b8f、emulator-5554、および 10.129.164.6:5555 がそれぞれの SN です。名前のエミュレータ-5554 から Android エミュレータであることがわかり、シリアル番号 10.129.164.6:5555 は通常、ワイヤレス接続されたデバイスまたは Genymotion などのサードパーティの Android エミュレータです。
一般的な例外出力:
没有设备/模拟器连接成功。
List of devices attached
设备/模拟器未连接到 adb 或无响应。
List of devices attached
cf264b8f offline
USB接続
USB 接続経由で adb を通常に使用するには、いくつかの点を確認する必要があります。
ハードウェアの状態は正常です。
Android デバイスが正常に電源オンの状態にあり、USB ケーブルおよびさまざまなインターフェイスが良好な状態にあることを含みます。
Android デバイスの開発者向けオプションと USB デバッグ モードがオンになっています。
「設定」-「開発者向けオプション」-「Android デバッグ」に移動して表示できます。
設定で開発者向けオプションが見つからない場合は、イースターエッグを使用して表示させる必要があります。「設定」-「端末情報」で「バージョン番号」を 7 回連続でクリックします。
デバイスドライバーの状態は正常です。
Linux や Mac OS X では気にする必要はないようですが、Windows ではドライバーのインストールが必要になる場合がありますので、「コンピューター」を右クリックし、「プロパティ」で確認してください。 「デバイス マネージャー」に移動して、関連するデバイスを確認します。黄色の感嘆符または疑問符はありますか? そうでない場合は、ドライバーのステータスが良好であることを意味します。それ以外の場合は、モバイル アシスタント プログラムをダウンロードして、最初にドライバーをインストールできます。
パソコンとデバイスをUSBケーブルで接続し、状態を確認します。
adb devices
如果能看到
xxxxxx device
接続は成功しました。
リンク
参考リンク1: https://blog.csdn.net/qq_26394845/article/details/116752349
元リンク: https://github.com/mzlogin/awesome-adb/blob/master/README.md