adb常用命令

1 adb开启和关闭(许多时候连接设备一直显示offline,可以试着重启adb服务,获取安装了手机助手它自身会带有一个adb会影响使用)
adb start -server // 开启adb服务
adb kill -server // 杀死adb服务

2 使用adb查看当前连接的设备
adb devices // 查看当前连接的设备,如果adb服务还没有开启,这个命令也会自动开启adb服务
adb devices
List of devices attached
712KPZK1241861 device
192.168.137.216:5555 device
3 使用adb安装和卸载
adb install [-参数] [apk_file_path]
安装apk的参数
-l:forward lock application
-r:replace existing application(常用)
-t:allow test package(常用)
-s:install application on sdcard
-d:allow version code downgrade(debuggable package only)
-g:grant all runtime permissions
常用方式:不添加任何参数,如果已经安装了应用需要再次安装**-r覆盖安装**,如果apk是onlyTest,需要-t
卸载
adb uninstall [app_package_name]
-k #不删除程序运行所产生的数据和缓存目录(如软件的数据库文件)

4 多设备指定设备进行操作
adb devices 会返回设备标识,712KPZK1241861就是
712KPZK1241861 device
需要对特定设备操作时只需要利用-s 指定表示就行.
adb -s 712KPZK1241861 shell

5 使用adb清除APP数据
adb shell pm path 包名 查看应用的安装路径
adb shell pm clear [app_package_name],有了这个命令就不需要去手机设置里去清除应用的缓存了。

6 使用adb列出APP包名 & PM 命令
adb shell pm list packages // 列出所有APP的包名

adb shell pm list packages -s // 列出所有系统APP的包名

adb shell pm list packages -3 // 列出所有第三方APP的包名

adb shell pm list packages [name] // 过滤需要的查找的字段

abd shell pm list packages ####查看当前连接设备或者虚拟机的所有包

adb shell pm list packages -d #####只输出禁用的包。

adb shell pm list packages -e #####只输出启用的包。

adb shell pm list packages -i #####只输出包和安装信息(安装来源)。

adb shell pm list packages -u #####只输出包和未安装包信息(安装来源)。

adb shell pm list packages -f #####输出包和包相关联的文件

adb shell pm list packages -[option] “qq” #####按照要求搜索包。

7 使用adb读写文件
读取手机文件
adb pull [phone_file_path] [device_file_path]

// 将/storage/sdcard0/1.png图片复制到D盘file下
adb pull /storage/sdcard0/1.png D:\file
写入手机文件
adb push [device_file_path] [phone_file_path]
// 将D盘file下的1.png文件写入到手机的/storage/sdcard0/文件夹中
adb push d:\file\1.png /storage/sdcard0/

使用adb删除文件
adb shell rm [file_path]
adb shell rm /storage/sdcard0/1.png
其实adb shell 可以进入到 手机的linux环境中,可以访问里面有权限的文件

8 使用adb发送按键事件
adb shell input keyevent [event_code]
adb shell input keyevent 3 // 3:表示按下Home键
adb shell input keyevent 4 // 4:表示按下Back键

9 使用adb启动activity,service,broadcast等
跳转Activity
adb shell am start -a [intent_action] // action隐式意图跳转
// 使用组件名方式启动照相机功能
adb shell am start -n com.android.camera/.Camera
// 打开拨号界面
adb shell am start -a android.intent.action.CALL
//拨打电话
adb shell am start -a android.intent.action.CALL -d tel:10086
//打开百度
adb shell am start -a android.intent.action.VIEW -d https://www.baidu.com
//利用activity的绝对路径打开activity,并传递参数(-es传递extras参数,key为aaa,具体数据为bbb)
am start -n 包名/.MainActivity -es aaa bbb

adb shell am start -a 包名/activity的全类名
adb shell am start -a com.ldx.demo/com.ldx.demo.Activity

启动Service
adb shell am startservice -a [intent_action或者路径名]
adb shell am startservice -a com.xxx.service
发送broadcast
adb shell am broadcast -a [intent_action或者路径名]
adb shell am broadcast -a com.xxx.receive

10 使用adb进行monkey测试
adb shell monkey -p [package_name] -v 500

11 杀死进程:
adb shell am force-stop 强杀进程

12 查看task和activity的命令:
adb shell dumpsys命令是用于打印出当前系统信息
adb shell dumpsys这个命令会打印所有的信息,太长不利用查看:
adb shell dumpsys activity
获取当前 Android 系统 Activity 栈中 Activity 信息

adb shell dumpsys activity top
获取当前 Android 系统 中与用户交互的 Activity 的详细信息

adb shell dumpsys meminfo [应用包名]
查看应用的内存使用情况

adb shell dumpsys package [应用报名]
获取手机里面某个 apk 的应用信息、版本信息

adb shell dumpsys activity activities
显示当前所有在运行的任务栈,并可查看栈中所有的 Activity 的列表

//查看activity(包括运行的)
adb shell dumpsys activity activities

ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):

  Stack #4: type=standard mode=fullscreen
  isSleeping=false
  mBounds=Rect(0, 0 - 0, 0)
    Task id #1860
    mBounds=Rect(0, 0 - 0, 0)
    mMinWidth=-1
    mMinHeight=-1
    mLastNonFullscreenBounds=null
    * TaskRecord{f9009ef #1860 A=com.ldx.canvasdrawdemo U=0 StackId=4 sz=1}
      userId=0 effectiveUid=u0a172 mCallingUid=u0a25 mUserSetupComplete=true mCallingPackage=com.google.android.apps.nexuslauncher
      affinity=com.ldx.canvasdrawdemo
      intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.ldx.canvasdrawdemo/.MainActivity}
      realActivity=com.ldx.canvasdrawdemo/.MainActivity
      autoRemoveRecents=false isPersistable=true numFullscreen=1 activityType=1
      rootWasReset=true mNeverRelinquishIdentity=true mReuseTask=false mLockTaskAuth=LOCK_TASK_AUTH_PINNABLE
      Activities=[ActivityRecord{2fd3372 u0 com.ldx.canvasdrawdemo/.MainActivity t1860}]
      askedCompatMode=false inRecents=true isAvailable=true
      mRootProcess=ProcessRecord{1353cfc 24708:com.ldx.canvasdrawdemo/u0a172}
      stackId=4
      hasBeenVisible=true mResizeMode=RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION

//查看内存情况
adb shell dumpsys meminfo $package_name or $pid

13 adb 无线调试(同一网络下)
adb connect ip:5555 //连接到手机(ip地址是手机连接到固定wifi,然后长按wifi查看得到的Ipv4地址)
adb connect 192.168.137.216:5555
connected to 192.168.137.216:5555

断开无线连接
adb disconnect 192.168.137.216:5555

14 获取log
//打印默认日志数据
adb logcat

//打印级别为Error的信息
adb logcat *:E

/打印时间和级别是Error的信息
adb logcat -v time *:E

/将日志保存到电脑固定的位置,C:\log.txt
adb logcat -v time >C:\log.txt
//清除日志
adb logcat -c

15 adb 截屏
adb shell screencap -p /sdcard/screenshot.png
会把截图保存到sdcard目录下。

录屏命令:录屏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值