android 调试常用命令

  1. Android应用开发过程中,熟悉常用的adb调试命令往往能事半功倍,再此做一个汇总记录。
  2.  
  3. adb shell vm 命令
  4.  
  5. adb shelll vm 命令在4.3以后的版本才可用,使用它可以方便的查看或者设置屏幕的分辨率、密度。
  6.  
  7. adb shell vm size
  8. 查看分辨率,我本机的输出结果如下:
  9. Physical size: 720x1280
  10. 如果想要设置成其他分辨率,在size 后面加上想要的参数即可,比如
  11. adb shell vm size 720x1080
  12. adb shell vm density
  13. 查看屏幕密度,我本机输出结果如下:
  14. Physical density: 320
  15. 同样density后面也可已加上想要的密度值,比如
  16. adb shell wm density 200
  17.  
  18. adb shell wm overscan
  19. 设置窗口的显示位置,比如想让界面在靠左200, 靠上300,靠右400 , 靠下500的显示区域显示 ,可以这样设置
  20. adb shell wm overscan 200,300,400,500
  21.  
  22. 通过vm设置的值手机重启后依然生效,如果想回复默认的,可以参考下面的设置方法
  23. adb shell wm density reset
  24.  
  25. adb shell svc命令
  26.  
  27. svc 命令可以控制电源、数据流量、wifiusb的开关状态,用法如下
  28.  
  29. Available commands:
  30. help Show information about the subcommands
  31. power Control the power manager
  32. data Control mobile data connectivity
  33. wifi Control the Wi-Fi manager
  34. usb Control Usb state
  35. 1
  36. 2
  37. 3
  38. 4
  39. 5
  40. 6
  41. 比如要直接打开wifi可以用如下的命令方式
  42. adb shell svc wifi enable
  43.  
  44. adb shell settings命令
  45.  
  46. settings命令可以更加方便的查看、更改SettingsProvider数据库的值,有了它不用在通过Sqlite3命令操作Settins数据库了。用法如下:
  47.  
  48. usage: settings [--user NUM] get namespace key
  49. settings [--user NUM] put namespace key value
  50. settings [--user NUM] delete namespace key
  51.  
  52. 'namespace' is one of {system, secure, global}, case-insensitive
  53. If '--user NUM' is not given, the operations are performed on the owner user.
  54. 1
  55. 2
  56. 3
  57. 4
  58. 5
  59. 6
  60. 比如存放在Settings数据库global表中的字段airplane_mode_on表明是否开启了飞行模式,可以通过
  61. adb shell settings get global airplane_mode_on
  62. 直接看到它的值,方便debug工作。
  63.  
  64. adb shell content命令
  65.  
  66. adb shell content 命令可以直接通过命令行对contentprovider数据集进行增删改查操作,非常利于debug功做。
  67. 比如要查看系统media数据库里存放的图片记录,可以通过命令:
  68. adb shell content query --uri content://media/external/images/media直接查看,相对与Sqlite3命令更为快捷。下图是用该命令测试的结果:
  69. 这里写图片描述
  70. 如果要更改_id=3082这条数据的title字段可以通过命令:
  71. adb shell content update --uri content://media/external/images/media/3082 --bind title:s:test.png
  72. 来实现,测试结果如下图:
  73. 这里写图片描述
  74.  
  75. adb shell pm命令
  76.  
  77. pm(package manager)命令方便查看系统当前安装包的一些状态,功能强大,选取几个我经常使用的场景.更多的使用方法直接输入adb shell pm查看输出帮助。
  78.  
  79. 清除应用数据。
  80. Launcher开发的时候,更新完成桌面应用图标的位置后,如果要查看显示效果,就必须先把Launcher的数据清除,否则新的改动不会生效。这个时候可以用clear命令一步完成。
  81. adb shell pm clear com.android.launcher
  82. 查看当前安装的所有 apk
  83. 整机开发的时候,经常需要查看下当前手机安装了哪些应用,可以通过
  84. adb shell pm list packages查看
  85. 查看包名和文件名对应表adb shell pm list packages -f
  86. 查看安装的第三方应用adb shell pm list packages -3
  87. 禁止或启用一个应用
  88. 禁止一个应用adb shell pm disable [packagename]
  89. 开启一个应用adb shell pm enable [packagename]
  90. adb shell am
  91.  
  92. am(activity manager) 命令方便调试应用的活动行为,它的使用场景比较多。网上的使用说明也比较多,不多加说明了。选常用的两个
  93.  
  94. 启动一个activity
  95. adb -d shell am start -n com.google.android.setupwizard/.SetupWizardTestActivity
  96. 模拟发送广播
  97. 在开发SystemUI时,涉及到SIM卡状态显示的debug工作,模拟发送广播就非常有用了。
  98. adb shell am broadcast -a android.intent.action.SIM_STATE_CHANGED --es ss ABSENT --ei slot 1
  99. adb shell dumpsys
  100.  
  101. dumpsys 命令常用来查看activity的堆栈信息,比如
  102. adb shell dumpsys activity activities
  103. 也可以查看电池信息adb shell dumpsys battery
  104. 还可以查看某个安装包的详细信息
  105. adb shell dumpsys package com.google.android.googlequicksearchbox
  106. grep命令结合可以过滤出关心的信息,比如要查看googlequicksearchbox的版本就可以使用下面的命令
  107. adb shell dumpsys package com.google.android.googlequicksearchbox|g
  108. rep versionName
  109.  
  110. adb shell screencap/screenrecord
  111.  
  112. 截屏adb shell screencap -p /sdcard/test.png
  113. 录屏adb shell screenrecord --time-limit 10 --bit-rate 6000000 /sdcard/demo.mp4
  114.  
  115. aapt命令

huan

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: