常用adb命令

最好参考google官方文档: https://developer.android.com/studio/command-line/adb
  1. 查看当前activity:
adb shell dumpsys activity | grep mFocusedActivity
或
adb shell dumpsys window | grep  mCurrentFocus

2. adb安装apk

adb push install XXX.apk
 3. 卸载apk
adb uninstall 包名

4. 启动app

adb shell monkey -p com.youdao.dict.smartisan -c android.intent.category.LAUNCHER 1

5. 获取布局信息

adb shell dumpsys activity top
# 开始: Hierarchy
# 结束: Looper

6. 打开相机

adb shell am start -n com.android.camera2/com.android.camera.CameraLauncher

7. 模拟手机低电量

adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --ei "level" 3 --ei "scale” 100

8. 屏幕截图

adb -s cadc680a0004 shell screencap /sdcard/demo/1.png

9. 录屏

adb -s cadc680a0004 shell screenrecord /sdcard/demo/v1.mp4

10. 查询Android ID

adb shell settings get secure android_id

11. 查看设备已有的程序列表

adb shell pm list packages
# 查看所有第三方APP
adb shell pm list packages -3

12. 查看app的activity

adb logcat ActivityManager:I *:s | grep com.speed.boost.booster
13. adb清除app数据
adb shell pm clear <packgeName>

14. adb 停止app

adb shell am force-stop <packgeName>

15. adb拨打电话

adb shell am start -a android.intent.action.CALL -d tel:15536057230

16. getprop常用

获取安卓版本号adb shell getprop ro.build.version.release
获取系统api版本adb shell getprop ro.build.version.sdk
获取应用程序版本adb shell dumpsys package com.ijinshan.browser_fast | grep versionName
获取安卓设备机型adb shell getprop ro.product.model
17. 获取手机权限
Adb shell pm 
list permission-groups
输出所有已知的权限组。
list permissions [ options group
输出所有已知的权限,或者,仅输出  group  中的权限。
具体选项:
  • -g :按组进行整理。
  • -f :输出所有信息。
  • -s :简短摘要。
  • -d :仅列出危险权限。
  • -u :仅列出用户将看到的权限。
18. 给应用授权 adb shell pm
grant 授权时,如果是该机的未知权限,报错: Bad argument: java.lang.IllegalArgumentException: Unknown permission: com.asus.msa.SupplementaryDID.ACCESS
grant  package_name  permission
向应用授予权限。在搭载 Android 6.0(API 级别 23)及更高版本的设备上,该权限可以是应用清单中声明的任何权限。在搭载 Android 5.1(API 级别 22)及更低版本的设备上,该权限必须是应用定义的可选权限。
revoke  package_name  permission
从应用中撤消权限。在搭载 Android 6.0(API 级别 23)及更高版本的设备上,该权限可以是应用清单中声明的任何权限。在搭载 Android 5.1(API 级别 22)及更低版本的设备上,该权限必须是应用定义的可选权限。
 
19. 生成ART配置文件
从 Android 7.0(API 级别 24)开始,Android Runtime (ART) 会收集已安装应用的执行配置文件,这些配置文件用于优化应用性能。您可能需要检查收集的配置文件,以了解在应用启动期间,系统频繁执行了哪些方法和使用了哪些类。
要生成文本格式的配置文件信息,请使用以下命令:
    adb shell cmd package dump-profiles package
要检索生成的文件,请使用:
    adb pull /data/misc/profman/ package .txt
 
20. 获取应用相关信息
adb shell dumpsys package pkg_name

requested permissions节点为应用请求的权限,含有granted=true的权限为已授权

 
21. adb卸载所有第三方应用:
# grep -v 'poco\|stf’ 排除关键字:poco stf
只有一个设备时:
adb shell pm list packages -3 | grep -v 'poco\|stf\|yosemite' | cut -d ':' -f2 | tr '\r' ' ' | xargs -n1 -t adb uninstall

多个设备,需要指定手机时:

adb -s FA69P0314533 shell pm list packages -3 | grep -v 'poco\|stf\|yosemite' | cut -d ':' -f2 | tr '\r' ' ' | xargs -n1 -t  adb -s FA69P0314533 uninstall

22. Adb模拟长按电源键

logger.info("长按电源键")
shell("sendevent /dev/input/event0 1 116 1”) # 1表示长按,116表示电源键的十进制值, 1代表按下
shell("sendevent /dev/input/event0 0 0 0")
logger.info("按下电源键")
time.sleep(3)  # 长按时长
logger.info("抬起电源键")
shell("sendevent /dev/input/event0 1 116 0")
shell("sendevent /dev/input/event0 0 0 0")

23. adb清空SurfaceFlinger数据:

# 如果该命令返回空,说明硬件支持SurfaceFlinger latency,如果返回很多行结果(像adb shell dumpsys SurfaceFlinger 一样),说明硬件不支持
adb shell dumpsys SurfaceFlinger --latency-clear SurfaceView
安卓6以下获取帧信息:
adb shell dumpsys SurfaceFlinger --latency pkg_name/activity_name

24. getprop和setprop

getprop 命令的作用就是从系统的各种配置文件中读取一些设备的信息, 配置中以 ro 开头的是只读属性
# 查看单个配置信息: adb shell getprop后面加属性名称来输出单个配置信息
读取手机语言系统:adb shell getprop persist.sys.locale
setprop可以对手机一些配置进行设置,当然这些配置必须是可写的
命令格式:setprop [key] [value]

设置GPS:
adb -s 300fb2c2 shell settings put secure location_providers_allowed +network,gps
取消设置GPS:
adb -s 300fb2c2 shell settings put secure location_providers_allowed -gps
查看某一个设置项的值
adb -s 300fb2c2 shell settings get system sound_effects_enabled
# 其中的get system可以根据设置的具体情况改成get global或者get secure
# 如果返回null说明没有这个选项

25. adb连接设备报错:

no permissions (user in plugdev group; are your udev rules wrong?

 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值