首页 > 技术文章 > 常用adb命令

yanglanwan 2019-08-05 15:16 原文

查看当前顶层的Activity

dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p'

1.   删除指定文件下的指定文件

// -f 强制删除文件不需要确认

// -r 递归删除文件夹内文件

adb shell rm –rf /data/log/android_logs

2. 获取日志文件:将文件复制到设备、从设备复制文件

adb pull remote local 从设备复制文件到本地

举例:adb pull /data/data/com.huawei.vassistanthd/files/result/ d:/tmp/

adb push local remote 从本地复制文件到设备

举例:adb push foo.txt /sdcard/foo.txt

举例:adb push HwHiAiEngine.apk /system/priv-app/HwHiaiEngine/

3. 联网

adb shell setprop sys.at.mode cvt

或adb shell setprop persist.network.firstpriority wifi

4. 开启Debug

adb shell setprop persist.sys.huawei. debug.on 1

5. 设置网络环境

adb shell setprop persist.sys.test.environment 1/2/3/4

获取网络环境

adb shell getprop persist.sys.test.environment

6. 抓取日志

adb logcat > 1.txt

7. 安装apk

-r 覆盖安装

-d 降级安装

adb install –r –d xxxxx.apk 

8. 开启adb服务

adb start server

9. 关闭adb服务

adb stop server

adb kill server

10.  启动应用

-n 指定包名/包名+启动类的类名 ,启动类的类名必须是完整路径

am命令用来启动一个APP、启动Activity、启动广播和服务等

adb shell am start [option] <INTENT>

adb shell am startservice [options] <INTENT>

adb shell am start -n package/package-activity

举例: adb shell am start –n com.huawei.vassistantthd/com.huawei.vassistantthd.setting.VoicesettingsActivity

举例:adb shell am startservice -a com.lt.test.action.ONESERVICE

举例:adb shell am startservice -n com.lt.test/ com.lt.test.MyService

11. 停止应用

adb shell am force-stop package

举例:adb shell am force-stop com.huawei.vassistanthd

举例:adb shell am force-stop com.huawei.hiai

12. 卸载应用程序

adb uninstall package

13. 清空指定包名对应的应用的数据和缓存文件,开发时很有用

adb shell pm clear com.android.search

adb shell pm clear com.huawei.vassistanthd

adb shell pm clear com.huawei.hiai

14.  获取系统属性,可以获取到一大堆关于系统信息(键值对形式)

adb shell getprop

// 获取系统属性并过滤出包含version的信息

adb shell getprop | grep version

15. 查看 cpu 和 内存使用情况

// 每隔一秒会刷新一次 cpu 和 内存情况

adb shell top

// 查看占用内存前3的应用

adb shell top -m 3

// 刷新3次内存信息(不指定-n参数的话默认每秒会刷新1次数据):

adb shell top -n 3

// 查看占用内存前3的应用,刷新1次

adb shell top -m 3 -n 1

16. 截图到sd卡并命名为1.png,拷贝sd卡1.png到当前目录

adb shell screencap /sdcard/1.png

adb pull /sdcard/1.png .

 

17. 查看所有app的名称

-f 显示app的路径

adb shell pm list packages

18. 进入adb shell

ls 显示根目录下各个文件夹

cd/data/data:进入文件夹 输入 pm list package 查看所有包

adb shell pm list -s 列出系统包

adb shell pm list -3 列出第三方包

adb shell pm list packages -f 查看包路径

adb shell pm list packages -d 列举禁用的包

adb shell pm list packages -e 列举可用的包

19.  将命令发送给指定设备

adb -s serial_number command

举例:adb -s emulator-5556(设备号) install helloWorld.apk

20.  adb获取序列号、查看连接计算机的设备、查看log、帮助、重启机器、查看bug

查看连接计算机的设备    adb devices

查看adb 版本    adb version

获取序列号       adb get-serialno

查看日志    adb logcat

查看帮助    adb help

重启机器    adb reboot

重启到刷机模式bootloader   adb reboot bootloader

查看bug    adb bugreport

21.串口操作命令

修正屏幕分辨率:echo fixrate 2 > /proc/msp/panel

配置ip:
su
ifconfig eth0 192.168.1.119 netmask 255.255.255.0 up
ifconfig
sample_ai_i2s0 100 /mnt/test0.pcm
q
adb connect 192.168.1.119:5555

窗口不会总打印信息
echo 1 > /proc/sys/kernel/printk

 

21.将相应APK打包到对应包下面 

adb shell

cd priv-app    该文件夹下面存放依赖的所有apk

退出adb shell

将相应apk打包到priv-app目录下

adb push \\xxxxxx\xxxx\xxxx.apk  system/priv-app/xxxx/

参考资料:安卓调试桥 https://developer.android.com/studio/command-line/adb

推荐阅读