python adb開発-adbの一般的な使い方

17714 ワード

ADB、すなわちAndroid Debug Bridgeは、Android開発/テスト担当者にとってかけがえのない強力なツールです.
adbとアプリケーションの接続
1.adb serverの起動/停止コマンド:
adb start-server

(通常、このコマンドを手動で実行する必要はありません.adbコマンドを実行するときにadb serverが起動していないことに気づいたら自動的に起動します.)
adb serverコマンドを停止するには、次の手順に従います.
adb kill-server

2.adbバージョンの表示
コマンド:
adb version

出力:
C:\WINDOWS\system32>adb version
Android Debug Bridge version 1.0.41
Version 29.0.6-6198805
Installed as E:\program\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools\adb.exe

3.接続デバイスの表示
adb devices

出力:
C:\WINDOWS\system32>adb devices
List of devices attached
CVH7N16A12000234        device

ディスプレイパラメータ
1.android_id
adb shell settings get secure android_id

2.androidシステムバージョン
adb shell getprop ro.build.version.release

3.解像度
adb shell wm size

出力:
C:\WINDOWS\system32>adb shell wm size
Physical size: 1440x2560

4.密度
adb shell wm density

出力:
Physical density: 560

5.ディスプレイパラメータ
adb shell dumpsys window displays

ここでmDisplayIdはディスプレイ番号であり、initは初期解像度とスクリーン密度であり、appの高さはinitよりも小さく、画面の下部に仮想ボタンがあることを示している.
adbとアプリケーションのインタラクション
1.フロントActivityの表示
adb shell dumpsys activity | findstr "mFocusedActivity"

フルパスを取得するには、次の手順に従います.
adb shell dumpsys window | findstr mCurrentFocus

2.実行中のサービスの表示
adb shell dumpsys activity services [packagename]

3アプリケーションの詳細の表示
adb shell dumpsys package [packagename]

command
用途
start [options]
Activityの起動
startservice [options]
サービスの起動
broadcast [options]
ブロードキャストの送信
force-stop
プロセスの停止
intentオブジェクトを決定するオプションは次のとおりです.
パラメータ
さぎょう
-a
androidなどのアクションを指定します.intent.action.VIEW
-c
androidなどのcategoryを指定します.intent.category.APP_CONTACTS
-n
完全component名を指定し、comなどのActivityを起動するかを明確に指定します.example.app/.ExampleActivity
-W
完全なオープン・アプリケーション・プロシージャの出力
am(Activity Manager)コマンドは、1つのAPPを起動する、Activityを起動する、ブロードキャストとサービスを起動するなどの4.アプリケーションの開始
adb shell am start xx

例:
C:\WINDOWS\system32>adb shell am start -W com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity
Starting: Intent {
      act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.tencent.mobileqq/.activity.SplashActivity }
Warning: Activity not started, its current task has been brought to the front
Status: ok
Activity: com.tencent.mobileqq/.activity.SplashActivity
ThisTime: 2916
TotalTime: 2916
WaitTime: 2936
Complete

5.サービスの起動
adb shell am startservice "com.example.crime/com.example.crime.MyService"

6.サービス停止
adb shell am stopservice [options] <INTENT>

7.ブロードキャストの送信
adb shell am broadcast -a "our.specified.action"

8.適用の強制停止
adb shell am force-stop com.qihoo360.mobilesafe

9.適用インストールパスの表示
adb shell pm path  (PACKAGE)

例:
C:\WINDOWS\system32>adb shell pm path com.tencent.mobileqq
package:/data/app/com.tencent.mobileqq-xt0XnDpe7yq8Z5YGef0iEA==/base.apk

10.携帯アプリを見る
adb shell pm list packages 

adb shell pm list packagesに基づいて、いくつかのパラメータを追加してフィルタリングして異なるリストを表示することができます.サポートされているフィルタパラメータは以下の通りです.
パラメータ
リストを表示
なし
すべてのアプリケーション
-f
アプリケーション関連apkファイルを表示
-d
disabledのアプリケーションのみを表示
-e
enabledのアプリケーションのみを表示
-s
システムアプリケーションのみ表示
-3
サードパーティ製アプリケーションのみ表示
-i
アプリケーションのinstallerを表示
-u
アンインストールされたアプリケーションを含める
例:1.サードパーティ製アプリケーションのリストを印刷
adb shell pm list package -3

出力:

C:\WINDOWS\system32>adb shell pm list package -3
package:com.quark.browser
package:com.safer.android
package:de.blinkt.open
package:com.zhiliaoapp.musically.go
package:net.i.client
package:com.networkprotect.ultra
package:com.google.android.apps.docs.editors.docs
package:com.express.
package:com.sharp.freefast_ipchanger
package:com.whatsapp
package:com.google.android.apps.docs.editors.sheets
package:com.google.android.apps.docs.editors.slides
package:com.digitanlabs.apps.super
package:com.gaditek.pureics
package:com.speedify.speedifyandroid
package:net.hideman.free
package:net.safemove.android.cip
package:com.securitykiss.android
package:im.zpn

2.パッケージ名に文字が含まれているアプリケーション
C:\WINDOWS\system32>adb shell pm list packages tencent
package:com.tencent.mm
package:com.tencent.qqlivei18n
package:com.tencent.mobileqq

もちろん、パイプ文字でフィルタすることもできます.
C:\WINDOWS\system32>adb shell pm list packages | findstr tencent
package:com.tencent.mm
package:com.tencent.qqlivei18n
package:com.tencent.mobileqq

11.apkのインストール
adb install  xx.apk

インストールを上書きできます.
adb install -r xx.apk

12.apkのアンインストール
adb uninstall com.tencent.mobileqq

データをアンインストールして保持するには、次の手順に従います.
adb uninstall -k com.tencent.mobileqq

13.adb serverのネットワークポートの指定
adb -P <port> start-server

ファイル管理
1.デバイス内のファイルをパソコンにコピーする
adb pull <        > [      ]

ここで、コンピュータ上のディレクトリパラメータは省略でき、デフォルトでは現在のディレクトリにコピーされます.
2.パソコンのファイルをデバイスにコピーする
adb push <        > <      >

イベント入力
1.アナログキー操作
adb shell input keyevent < keycode > 

異なるkeycodeは異なる機能を実現することができ、リストは以下の通りである.
 keycode:    
3	HOME  
4	   
5	      
6	    
24	    
25	    
26	   
27	  (        )
64	     
82	   
85	  /  
86	    
87	     
88	     
122	            
123	            
126	    
127	    
164	  
176	      
187	    
207	     
208	    
209	    
210	     
220	      
221	      
223	    
224	    
231	      
276	     wakelock       

明るい画面で消灯:
adb shell input keyevent 26

2.スライドスクリーン
adb shell input swipe x1 y1 x2 y2

パラメータは、それぞれ、始点x座標始点y座標終点x座標終点y座標3を示す.テキストの入力
adb shell input text 123

4.アナログ画面クリックイベント
adb shell input tap 500 500

イベント出力
1.ログ情報:adb logcatを使用してログ情報を表示する.dumpsys:dumpsysコマンドは、非常に多くのシステム情報を提供します.adb shellサービスリストを使用してdumpsysがクエリー情報を提供できるサービスを表示できます.いくつか列挙:バッテリ情報の表示
adb shell dumpsys battery

目覚まし時計の情報を表示
adb shell dumpsys alarm

3.スクリーンショット
adb shell screencap /imgpath/screen.png

4.スクリーン
adb shell screenrecord /imgpath/demo.mp4

imgpathは自分のアルバムの中の写真の経路情報に基づいて完全なコマンドを取得することができます:参照リンク