ADB命令

一、常用指令

adb常用命令大全

        参考:adb 常用命令大全(3)- 查看手机设备信息 - 小菠萝测试笔记 - 博客园

        adb  logcat -s XXX   只输出与XXX有关的信息

        adb  nodaemon server 查看端口是否被占

        adb  start-server    开启ADB  

        adb  kill-server      关闭ADB   

        adb  logcat -v time -s XXX  显示指定字符和时间

        adb  logcat -c  清空日志缓存

        adb  logcat     //显示全部日志

        adb  logcat > c:\test.log //将日志保存到文件test.log

        根据tag标记和级别过滤日志输出:

        adb logcat *:W   //显示所有优先级大于等于“warning”的日志

        adb devices   查询电脑已连接的设备

        adb shell pm list packages   列出目标设备中已安装的应用程序包

        adb shell pm list packages -f     列出目标设备中已安装的应用程序包的具体位置 

        adb uninstall xxx 卸载或删除的应用包xxx

        adb push <local> <remote>        local是电脑本地的文件a的路径,remote是手机的文件夹b的路径,该命令会将文件a放到文件夹b中

        adb pull <手机目录> <电脑目录> 将手机本地文件放在电脑目录下(注:手机目录和电脑目录的分隔符都是 "/")

adb命令进入手机root模式

        1. adb reboot(重启手机)

        2. adb root(在手机进入重启加载过程中的黑屏界面时运行该命令)

        3. adb remount(可能会有fail报告,若有则再执行adb disable-verity命令,然后再执行adb remount)

        4. adb shell

        5. 这时候就可以在root模式访问手机文件了

二、adb shell操作数据库

1. 进入sqlite命令行

(1)首先在命令框中依次输入:adb root ,adb remount,adb shell

(2)进入数据库所在包:cd /data/data/com.android.providers.media.module/databases

(3)输入命令:sqlite3 external.db进入sqlite命令行

2.常用命令

.tables命令

        .table表示当前表集合 .help命令帮助说明 

        执行结果

        sqlite> .tables

        album_art            audio_playlists      log

查表命令

        sqlite> select * from imges;查看名为imges的表

遍历获取表结构

        sqlite> select * from sqlite_master where type="table";

要获得数据库中的所有表

        sqlite> select name from sqlite_master where type=’table’ order by name; 

注意:

        SQLITE_MASTER 表是只读的。不能对它使用 UPDATE、INSERT 或 DELETE。 它会被 CREATE TABLE、CREATE INDEX、DROP TABLE 和 DROP INDEX 命令自动更新。

        临时表不会出现在 SQLITE_MASTER 表中。临时表及其索引和触发器存放在另外一个叫 SQLITE_TEMP_MASTER 的表中。SQLITE_TEMP_MASTER 跟 SQLITE_MASTER 差不多, 

但它只是对于创建那些临时表的应用可见。如果要获得所有表的列表, 不管是永久的还是临时的,可以使用类似下面的命令:

        SELECT name FROM (SELECT * FROM sqlite_master UNION ALL/SELECT * FROM sqlite_temp_master)  WHERE type=’table’  ORDER BY name

三、其他命令

3.1 屏幕录制

        (1)录制视频到内部存储;

adb shell screenrecord <手机目录>(例如:/storage/sdcard0/demo.mp4)

        (2)指定录制时间;

# 设置视频最长录制时间,以秒为单位。默认最长为180秒。中途可按「Ctrl键+C」停止录制
adb shell screenrecord  --time-limit 10 /storage/sdcard0/demo.mp4

        (3)指定视频比特率;

# 设置视频的比特率。参数范围为[100 000,100 000 000],默认是4Mbps,即4000000。 比特率越大,文件越大,画面越清晰
adb shell screenrecord --bit-rate 6000000 /storage/sdcard0/demo.mp4

        (4)停止录制;

Ctrl + C中断录制,或者到达指定录制时间自动停止

        (5)录制视频时指定分辨率

# --size WIDTHxHEIGHT:指定视频分辨率大小
# 设置视频的尺寸,默认是设备的主屏幕分辨率大小,效果最佳(如果支持);如果不支持,默认使用“1280x720”。如果对视频分辨率没要求,这个参数可不写
adb shell screenrecord --size 1280x720 /sdcard/test.mp4

        (6)视频旋转90度

adb shell screenrecord --rotate /sdcard/test.mp4

特别说明:

        1. 在Android 4.4 KitKat 版本以上才支持通过adb shell screenrecord命令来录屏;

        2. 模拟器上不能通过该手段录屏;

        3. SurfaceView可以通过调用setSecure(true)防止敏感/版权信息被录屏;

3.2 进程管理

3.2.1 查看进程

# 列出手机中所有进程,再通过包名或进程号去查找
adb shell ps

# 通过grep命令查找
# keyword是我们想要找的进程名字的全称或者是一部分,也就是app的包名或者包名的一部分
adb shell "ps |grep keyword"

3.2.2 杀死进程

# (1)kill -9 进程号
adb shell kill -9 1137

# (2)adb shell am force-stop 包名全称
# 该方法不支持部分匹配,必须是包名全称。
adb shell  am force-stop com.xxxxx.yyyy

3.2.3 查看当前界面Activity代码位置

# 查看运行APP当前页面的Activity相关的代码位置
# 查看测试机某个界面对应的代码所在的位置(先将测试机点击到该界面显示,然后输入如下命令)
adb shell "dumpsys window | grep mCurrentFocus"

3.2.4 查看Service

adb shell service list

3.3 导出apk

        导出手机中某应用的apk并在其他的设备上进行安装

# 查找设备
adb devices

# 确认要导出的apk包名
adb shell pm list package

# 查看指定apk的路径
adb shell pm path [apk包名](例如: com.exp.zw)

# 导出apk
adb pull [apk的位置] [导出在电脑中的位置]

# 安装apk
adb install-multiple -r -t [apk的位置]
  或者
adb install [apk的位置]

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值