Android常用ADBコマンドまとめ

3805 ワード

アンドロイドのモバイルエンドテストに対してadbは避けられない接触であり、関連するよく使われるadbコマンドを熟練して把握することは、テストに大きな便利さをもたらし、同時に多くのadbコマンドを自動化スクリプトに使用することもできる.
ADB紹介
adbは実はAndroid Debug Bridgeで、Androidデバッグブリッジの略で、adbはC/Sアーキテクチャのコマンドラインツールで、主に3つの部分から構成されています.
1.PC側で実行するClient
Androidデバイスとは、Androidアプリケーションのインストール、アンインストール、およびデバッグを行うADT、SDK ToolsディレクトリのDDMS、Monitorなどのツールによって、adbの機能を同様に使用して対話することができます.PC側の携帯電話アシスタント、例えば360携帯電話アシスタント、エンドウ莢、アプリ宝などは、サードパーティ製アプリケーションのインストールが便利であるほか、他の機能は基本的にadbコマンドで完了することができる.ここでは、テスト担当者ができるだけパソコンにこのような携帯電話アシスタントをインストールしないことを提案する.持参したadbプログラムがAndroid SDKのadbプログラムと衝突する可能性があるため、5037ポートが占有され、adbコマンドを使用するとデバイスに接続できない
2.PC側で動作するサービス
その管理クライアントからAndroidデバイス上のadbバックグラウンドプロセスへの接続adbサービスが起動すると、Windowsはタスクマネージャでadbを見つけることができる.exeというプロセス
3.Androidデバイス上で実行されるadbバックグラウンドプロセス
実行adb shell ps | grep adbd、このバックグラウンドプロセスを見つけることができます.windowsはgrepの代わりにfindstrを使用してください.
次にadbコマンドを3つの部分に分けて紹介します:adbコマンド、adb shellコマンド、linuxコマンド
adbコマンド
開発またはテストの過程で、adbを通じて複数のデバイスを管理することができます.一般的なフォーマットは:
adb [-e | -d | -s ]
環境変数を割り当てた上で、コマンドウィンドウにadb helpを入力するか、adbを直接入力すると、すべてのオプションの説明とサブコマンドがリストされます.
ここでは、よく使われるコマンドについて説明します.
  • adbデバイス、デバイスリストおよびデバイス状態の取得
  • C:\Users\Think>adb devices
    List of devices attached
    44c826a0 device 
    
  • adb get-state、デバイスの状態を取得
  • C:\Users\Think>adb get-state device
    device
    

    デバイスの状態は3種類あります.デバイス、offline、unknownデバイス:デバイスが正常に接続されているoffline:接続に異常が発生し、デバイスが応答していないunknown:デバイスが接続されていない
  • adb kill-server,adb start-server,adbサービスを終了しadbサービスを開始し,通常2つのコマンドを併用する.一般的に接続に異常が発生し、adb devicesを使用してデバイスが正常にリストされず、デバイスの状態が異常な場合はkill-serverを使用し、start-serverを実行して再起動サービスを行う
  • adb bugreport、dumpsys、dumpstate、logcatの出力を印刷するのも、エラーを分析するためのもので、通常はここの入力が多いので、1つのファイルにリダイレクトして表示することをお勧めします
  • adb bugreport > d:\bugreport.log
    
  • adb install、インストールアプリ、上書きインストールは-rオプション
  • adb uninstall、アプリケーションをアンインストールし、後のパラメータはアプリケーションのパッケージ名です.apkファイル名と区別してください
  • adb pullは、Androidデバイス上のファイルまたはフォルダを、ローカル、例えばSdcard下のpullにコピーする.txtファイルからDディスク:
  • adb pull sdcard/pull.txt d:\
    

    注意権限、システム権限のディレクトリの下のファイルをコピーするには、rootが必要で、一般的なAndroid機root以降はコマンドでコピーすることはできませんが、携帯電話でREのようなファイルブラウザを使用する必要があります.まず、システムのファイルシステムを読み取り可能にマウントしてから、携帯電話でモバイルシステムファイルをコピーすることができます.
  • adb pushは、Androidデバイス、例えばDディスク下のpushにローカルファイルをプッシュする.txtからSdcard:
  • adb push d:\push.txt sdcard/
    

    注意すべきは後ろのスラッシュが少なくないことです.ここではpullと同じように権限の問題に注意してください.
  • adb reboot[arguments]、Androidデバイスbootloaderを再起動し、デバイスを再起動し、fastbootモードrecoveryに入り、デバイスを再起動し、recoveryモードに入り、よくブラシをかける学生がこのモードに詳しい
  • adb shellコマンド
    ここでは、私がadbコマンドとadb shellコマンドを区別する理由を理解してください.簡単に言えば、adbコマンドはadbというプログラムに付属するいくつかのコマンドであり、adb shellはAndroidシステムを呼び出すコマンドであり、これらのAndroid特有のコマンドはAndroidデバイスのsystem/binディレクトリの下に置かれている.
    ここで必要なのは
  • adb shell dumpsys、デフォルトでは現在のシステムのすべてのサービス情報が印刷され、後に具体的なサービス名を付けて現在稼働しているサービスをリストする必要がある
  • 取得機器解像度:
  • adb shell dumpsys display | findstr 
    DisplayDeviceInfoDisplayDeviceInfo{"    ": 1080 x 1920, 55.0 fps, density 480, 464.949 x 468.923 dpi...
    
  • 機器バッテリー情報取得:
  • adb shell dumpsys battery
    Current Battery Service state:
    AC powered: false 
    USB powered: true 
    Wireless powered: false 
    status: 2 #     
    health: 2 
    present: true 
    level: 34 #   
    scale: 100 
    voltage: 3848 
    current now: -427943 
    temperature: 280 #     
    technology: Li-ion
    
  • Activity情報取得:
  • adb shell dumpsys activity
      -h        
           UI  ,   :
    adb shell dumpsys activity top
            Activity:
    adb shell dumpsys activity top | findstr ACTIVITY
    
  • package情報取得:
  • adb shell dumpsys package
      -h                :
    adb shell dumpsys package PACKAGE_NAME