adb与adb shell命令使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb与adb shell命令使用相关的知识,希望对你有一定的参考价值。
参考技术A adb connect ip:5555adb get-state
adb devices
adb kill-server
adb start-server
adb logcat >D:/log.log
adb pull sdcard/test.txt D:\123
adb push D:\123\test.txt sdcard
adb shell pm list package
adb shekk pm list package -s
adb shell pm list package -3
adb shell pm list package -f
adb shell pm list package -i zhihu
adb shell pm path com.zhihu.android
adb shell pm dump com.zhihu.android
adb install xxx.apk
adb shell pm install xxx.apk
adb uniinstall 包名
adb shell pm uninstall 包名
adb shell pm clear 包名
adb shell pm set-install-location 0/1/2
adb shell pm get-install-location
adb shell dumpsys package com.zhihu.android
adb shell am start -n com.zhihu.android/.app.ui.activity.LauncherActivity
adb shell am start -s com.zhihu.android/.app.ui.activity.LauncherActivity
adb shell am start -w com.zhihu.android/.app.ui.activity.LauncherActivity
adb shell am start -a android.intent.action.VIEW -d http://baidu.com
adb shell am start -a android.intent.action.CALL -d tel:10086
adb shell am force-stop 包名
adb shell input text 123456
adb shell input keyevent KEYCODE_HOME
adb shell input tap 500 500
adb shell input swipe 900 500 100 500
adb shell screencap -p /sdcard
adb shell setprop service.adb.tcp.port 5555
adb shell getprop service.adb.tcp.port
adb shell 入门
一、ADB 简介
ADB(Android Debug Bridge) 是 Android 开发/测试人员不可替代的通用命令行工具,其允许与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。Android 系统是基于 Linux 内核的,所以 Linux 里的很多命令在 Android 里也有相同或类似的实现,在 adb shell 里可以调用。该工具是一个客户端-服务器程序。
客户端:客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
后台程序:后台程序在每个模拟器或设备实例上作为后台进程运行。http://www.daiqiyang.com
服务器:服务器在开发计算机上作为后台进程运行。
二、安装:网上下载adb解压到自定义路径后,配置环境变量即可。
三、连接:
ADB与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令(所有 adb 客户端均使用端口 5037 与 adb 服务器通信)。
- 连接 Android 模拟器
夜神模拟器:adb connect 127.0.0.1:62001
2.USB 连接 Android 设备
a. 打开开发者选项
Settings >About phone>连续点击 Build number
b. 开启 USB debugging
c .Dos 下输入adb devices验证手机是否连上 adb
3.手机和电脑连入同一局域网 adb connect ip
四、常用命令
1、安装应用
(1)adb install D:adbtestaidu.apk 文件名中不要有空格
(2)adb push D:adbtestaidu.apk /system/app
会将原来系统中的对应的apk覆盖掉
可用 adb pull /system/app/baidu.apk /home/ 备份
有时候会出现Read-only的错误,我们可以使用强制安装命令来安装apk
adb install -r D:adbtestaidu.apk
2、卸载
adb uninstall com.baidu.browser.apps
3、导入/导出 文件到手机中
adb pull remote local
adb push local remote
4、包管理命令pm
adb shell pm list packages -3 查看第三方安装包
根据包名,查看apk 安装路径
adb shell pm path com.baidu.browser.apps 包名
清除app 数据
adb shell pm clear com.baidu.browser.apps 包名
5、dumpsys查询系统服务转储到屏幕:
查看所有activity
adb shell dumpsys activity activities、
获取当前运行的Activity
adb shell dumpsys activity | findstr Run
6、查看系统进程
adb shell top
adb shell ps
Ps 只提供当前进程的快照。top即时查看最活跃的进程
7、抓取日志adb logcat
adb logcat -v time :E >D: est.log 抓取日志并输出到制定路径
adb logcat ActivityManager:i :s
查看activity日志,仅输出标记为“ActivityManager”并且优先级大于等于“Info”的日志,*:S用于设置所有标记的日志优先级为S,这样可以确保仅输出符合条件的日志。
只显示需要的输出(白名单),通过管道使用 grep 过滤。
参考资料(https://www.cnblogs.com/bydzhangxiaowei/p/8168598.html)
8、adb shell monkey 压力测试
参考资料(https://www.cnblogs.com/yindada/p/9845032.html)
adb shell monkey -p com.baidu.browser.apps -v 1000 >d:adbtestmonkey_test.txt
-p ,此命令用于指定包,若不指定则在整个系统中执行
-v ,用于反馈日志的详细程度级别
Level 0 : adb shell monkey -p 包名 -v 10 // 默认级别,仅提供启动、测试完成和最终结果等少量信息
Level 1 : adb shell monkey -p 包名 -v -v 10 // 提供较为详细的日志,包括每个发送到Activity的事件信息
Level 2 : adb shell monkey -p 包名 -v -v -v 10 // 提供最详细的日志,包括了测试中选中/未选中的Activity信息
1.程序无响应:ANR问题:在日志中搜索“ANR”
2.崩溃问题:在日志中搜索“CRASH”
3.其他问题:在日志中搜索”Exception”
9、模拟用户操作
点击事件
adb shell input keyevent <keycode>
滑动
adb shell input swipe 300 1000 300 500
文本输入
adb shell input text hello,world
10、截屏、录像:
adb shell screencap /system/test.png文件保存路径
adb shell screenrecord 文件保存路径
Android adb调试时,经常会遇到权限问题(failed for /system/lib/libmm-test.so, Read-only file system),即使Root设备,在向/system等系统文件夹操作时(比如push、rm等),依然可能会提示“Read-only file system”。adb remount 重新挂载系统分区,使系统分区重新可写或着重启 (http://www.metsky.com/archives/670.html)
screenrecord 部分参数
--size width x height 设置分辨率 eg:1280x720
--bit-rate rate 视频比特率,默认值为 4Mbps,可以设6Mbps,这样质量更好 eg:adb shell screenrecord --bit-rate 6000000 /system/demo.mp4
--time-limit time 设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)
以上是关于adb与adb shell命令使用的主要内容,如果未能解决你的问题,请参考以下文章