adb命令启动某个action_adb常用命令

adb常用命令

1.adb devices , 获取设备列表及设备状态(adb -s 设备号 其他指令 adb -s devicel install xxx.apk)

2.adb get-state , 获取设备的状态

3.adb install 用于安装(此时需要用 -r 参数来重新安装。)

4.adb uninstall 用于卸载(adb uninstall 后面带的是应用的包名,而不是应用名。adb uninstall -k 表示保留数据)

5.adb shell pm list packages –f (查看系统所有应用的包名)

6.adb push 命令将PC机上的文件推到 DLT-RK3288 机器上;

7.adb pull 命令将DLT-RK3288机器上的文件拉到PC机上;

{

例如:

adb push d:/new.txt /sdcard/

将D盘下new.txt文件 推到内部存储器

adb pull /sdcard/new.txt d:\

将DLT-RK3288 内部存储器根目录下的new.txt 拉到D盘

}

adb shell pm list package

Package Manager , 可以用获取到一些安装在 Android 设备上得应用信息

-s:列出系统应用

-f:列出应用包名及对应的apk名及存放位置

9.adb shell

{

通过adb shell 命令,就可以进入设备或者模拟器的shell环境了,在这个Linux shell中,我们就可以执行各种Linux命令了。

如果只想执行一条shell命令,就可以采用:adb shell [shell_command],在实际使用中,经常与grep或findstr一起使用,起到过滤作用,查看自己需要的关键信息。

常见命令:

如 ls, cd, rm, mkdir, touch, pwd, cp, mv, ifconfig, netstat, ping, ps, top等,进入adb shell即可执行,与linux相似

}

10.adb logcat

{

一.在cmd窗口查看手机的Log日志

有时候我们在手机程序上的日志要在其他地方调试,然后要看里面的Log日志。在cmd窗口中输入如下命令:

//格式1:打印默认日志数据

adb logcat

//格式2:需要打印日志详细时间的简单数据

adb logcat -v time

//格式3:需要打印级别为Error的信息

adb logcat *:E

//格式4:需要打印时间和级别是Error的信息

adb logcat -v time *:E

//格式5:将日志保存到电脑固定的位置,比如D:\log.txt

adb logcat -v time >D:\log.txt

这时手机日志更新什么日志,cmd窗口也会同步更新数据。

但是这样没有过滤条件,如果Log日志很多,很难找到我们想要的信息,

当然也可以复制cmd中的数据到一个文本中慢慢处理的,就是效率不高。

下面介绍adb logcat中的详细参数命令以及如何才能高效的打印日志,或者把日志保存到我们指定的位置。

二.adb logcat 详解

adb logcat如果用过,但是具体命令又不记得,可以输入adb logcat -help,查看一下一些简单的数据格式:

日志过滤:adb logcat [:priority]

tag表示标签,priority输出的级别,日志默认级别是V,如果错误日志我们选择E就可以。

Android 的日志分为如下几个优先级(priority):

V —— Verbose(最低,输出得最多)

D —— Debug

I —— Info

W —— Warning

E —— Error

F —— Fatal

S —— Silent(最高,啥也不输出)

按某级别过滤日志则会将该级别及以上的日志输出。比如,命令:adb logcat *:W

其实*可以是某个tag,如果没有指明,就表示所有。

tag可以由多个 [:priority] 组成。比如,命令:

adb logcat ActivityManager:I MyApp:D *:S

表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志(即屏蔽其它 tag 日志)。

adb logcat选项解析

--"-s"选项 : 设置输出日志*:s的标签, 只显示该标签的日志;

--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;

--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;

--"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;

--"-v"选项 : 设置日志的输出格式, 注意只能设置一项;

--"-c"选项 : 清空所有的日志缓存信息;

--"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;

--"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;

--"-g"选项 : 查看日志缓冲区信息;

--"-B"选项 : 以二进制形式输出日志;

把日志信息保存到电脑中

adb logcat最后添加” > 保存文件的地址,比如需要将的信息保存到电脑中使用下面的命令: adb logcat -v time > D:\log.txt

}

查看顶部Activity:

win adb shell dumpsys activity | findstr “mFocusedActivity”

linux adb shell dumpsys activity | grep “mFocusedActivity”

启动Activity:

adb shell am start 包名/完整Activity路径

{

adb shell am start com.zhy.aaa/com.zhy.aaa.MainActivity

如果需要携带参数(携带一个Intent,Key 为name):

adb shell am start com.zhy.aaa/com.zhy.aaa.MainActivity -e name zhy

}

13.启动一个隐式的Intent:

adb shell am start -a “android.intent.action,VIEW” -d “https://www.google.com”

14.发送广播:

adb shell am broadcast -a “broadcastactionfilter”

-如果需要携带参数(携带一个Intent,key为name):

adb shell am broadcast -a “broadcastactionfilter” -e name zhy

15.启动服务:

adb shell am startservice “com.zhy.aaa/com.zhy.aaa.MyService”

16.屏幕截图:

可以使用screencap命令来进行手机屏幕截图

adb shell screencap /sdcard/screen.png

17.录制视频:

可以使用screenrecord[options] filename命令来录制屏幕视频,例如:

adb shell screenrecord /sdcard/demo.mp4

18.事件输入:

18.1 input

使用adb shell input命令向屏幕输入一些信息

adb shell input text “insert%stext%shere”(注意:%s表示空格)

使用adb shell input tap命令来模拟屏幕点击事件

adb shell input tap 500 1450(表示在屏幕上(500,1450)的坐标点上进行一次点击)

使用adb shell input swipe命令来模拟手势滑动事件

adb shell input swipe 100 500 100 1450 100(表示从屏幕坐标(100,500)开始,滑动到(100,1450)结束,整个过程耗时100ms)

使用上面的命令还可以模拟”长按(long press)操作,也就是2个坐标点相同,耗时超过500ms.

adb shell input swipe 100 500 100 500 500

使用adb shell input keyevent命令来模拟点按实体按钮的命令

adb shell input keyevent 25(该命令表示调低音量。数字25是在AOSP源码中的KeyEvent类里卖弄定义的一个事件常量。该类定义了将近300个事件常量。)

18.2 am

am(Activity Manager)命令来启动一个APP、启动Activity、启动广播和服务等等。

启动一个activity,最简单的命令可以使用adb shell am start com.package.name/com.package.name.ActivityName

如果启动带有参数,则使用-e标签

{

class SecondActivity : AppCompatActivity() {

companion object {

private val ARGUS_NAME = "argus_name"

fun launch(activity: Activity, content: String): Intent {

val intent = Intent(activity, SecondActivity::class.java)

intent.putExtra(ARGUS_NAME, content)

return intent

}

} override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_second)

val name = intent.getStringExtra(ARGUS_NAME)

nameTv.text = "Hello, $name"

}

}

adb shell am start com.example.crime/com.example.crime.SecondActivity -e argus_name QiuShui

除了默认启动的activity外,打开其他的activity时,需要在清单文件中添加android:exported="true"属性。}

要启动一个隐式的Intent,也就是说需要传入action等参数,在ADB调试桥中可以得知Intent的参数规范,比如**-a表示action**,-c表示category,-d表示data_uri,-e表示添加额外Key-Value信息。

adb shell am start -a "android.intent.action.VIEW" -d "https://www.google.com"(上面这个命令会启动浏览器打开谷歌网址页面。)

am 也能发送广播和启动服务

adb shell am broadcast -a "our.specified.action"

还可以在上述命令后面添加**-e**来添加额外的信息

使用下面的命令可以直接让手机重启

adb shell am broadcast -a android.intent.action.BOOT_COMPILETED

启动一个服务也是类似

adb shell am startservice "com.example.crime/com.example.crime.MyService"

(https://blog.csdn.net/qq_39969226/article/details/87897863)

19.事件输出

19.1 日志信息adb logcat

19.2 dumpsys dumpsys命令可以提供非常多的系统信息(可以通过adb shell service list来查看dumpsys能提供查询信息的服务)

19.3 屏幕截图:

使用screencap 命令来进行手机屏幕截图(adb shell screencap /sdcard/screen.png)

19.4 录制视频:

使用screenrecord [options] filename命令来录制屏幕视频(adb shell screenrecord /sdcard/demo.mp4){注:此命令适用于Android 4.4及以上的设备中。

录制视频也有参数选项,比如 –size 设置视频大小, –time-limit设置最大录制时长等。}

20.系统命令

20.1 查看进程信息:

使用adb shell ps命令查看进程信息。可以在该命令后加包名,来查看某个应用程序的进程信息。

20.2 查看CPU使用情况:

使用**adb shell top **命令来查看系统CPU使用情况。(ctrl+c结束)

https://www.wanandroid.com/blog/show/2310

https://developer.android.com/studio/command-line/adb.html

https://github.com/mzlogin/awesome-adb

https://blog.csdn.net/wang18323834864/article/details/78618748

21.查看当前adb版本

adb version

22.adb-server 的开启与关闭

adb kill-server adb start-server

手机重启

adb reboot

获得应用的apk所在路径

adb shell pm path 应用的包名

adb shell input keycode 指令

HOME 键 adb shell input keycode 3

返回键 adb shell input keycode 4

打开浏览器 adb shell input keycode 64

adb shell wm 指令

屏幕分辨率 adb shell wm size

屏幕密度 adb shell wm density

adb shell wm density 320/480/640 可修改屏幕密度查看效果,对应Launcher图标会缩放

adb shell ifconfig 命令

IP 地址 adb shell ifconfig “| grep Mask”

WIFI 地址 adb shell ifconfig wlan0

状态栏和导航栏的显示隐藏

adb shell settings put global policy_control ( 可由如下几种键及其对应的值组成,格式为 key1=value1:key2=value2。)

immersive.full 同时隐藏

immersive.status 隐藏状态栏

immersive.navigation 隐藏导航栏

immersive.preconfirms 同时显示

{

adb shell settings put global policy_control immersive.full=*

表示设置在所有界面下都同时隐藏状态栏和导航栏。(重启也不会失效,恢复需调用下面的命令)

adb shell settings put global policy_control immersive.preconfirms=*

表示恢复显示

adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3

表示设置在包名为 com.package1 和 com.package2 的应用里隐藏状态栏,在除了包名为 com.package3 的所有应用里隐藏导航栏。

}

关闭指定包名的应用程序 (force-stop )

adb shell am force-stop com.some.package

杀死与应用程序的包名称相关联的所有进程。该命令只会杀死安全的进程,不会影响用户体验。 (kill [options] )

adb shell am kill com.some.package

Share this:

码字很辛苦,转载请注明来自《adb常用命令》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以告诉你一些常用的 adb 命令。下面是常用的 20 个 adb 命令: 1. adb devices:显示连接到计算机的设备列表。 2. adb shell:打开目标设备上的命令行界面。 3. adb install <path_to_apk>:安装应用程序。 4. adb uninstall <package_name>:卸载应用程序。 5. adb push <local_path> <device_path>:将文件从计算机复制到设备。 6. adb pull <device_path> <local_path>:将文件从设备复制到计算机。 7. adb logcat:显示设备上的日志信息。 8. adb reboot:重启设备。 9. adb reboot recovery:重启设备并进入恢复模式。 10. adb shell pm list packages:列出设备上安装的应用程序包名。 11. adb shell dumpsys meminfo <package_name>:查看应用程序的内存使用情况。 12. adb shell am start -n <package_name>/<activity_name>:启动指定应用程序的指定活动。 13. adb shell screencap <device_path>:在设备上截屏并保存为图像文件。 14. adb shell screenrecord <device_path>:在设备上录制屏幕并保存为视频文件。 15. adb forward <local_abstract_name> <remote_abstract_name>:建立本地和远程之间的端口转发。 16. adb shell input keyevent <keycode>:模拟按下指定的按键事件。 17. adb shell input text <text>:模拟输入指定的文本。 18. adb shell settings put system <setting_key> <value>:更改设备系统设置。 19. adb shell am broadcast -a <action>:发送广播。 20. adb shell dumpsys battery:查看设备电池信息。 这些是一些常用的 adb 命令,希望对你有所帮助!如果你还有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值