adb常用命令

添加Path D:\Android\Sdk\platform-tools

adb配置

自己在安装Android Studio 的adb时遇到了配置好了环境变量,在cmd中可以执行adb命令行,而在Android Studio中的Terminal中却无法执行,显示adb不是内部或外部命令.

一、配置环境变量
首先要找到adb.exe的路径。它在SDK的安装目录下,可以通过File–>Other Settings–>
Default Project Structure找到SDK的安装目录,如图:

进入到对应的SDK路径下,找到adb.exe,复制其所在路径,然后我的电脑右键---->属性---->高级系统设置------->右下角环境变量--------->找到系统变量的Path----->进入新建,粘贴复制的路径----->依次点击确定保存

每个人的路径都不太相同,根据自己的情况进行设置
进入cmd窗口进行测试,win + R ,输入cmd,进入DOS窗口,输入adb,如果有关于adb的信息显示出来,说明安装成功,如图:

对cmd进行相应的设置,右键单击cmd窗口,点击属性

二、adb不是内部或外部命令的解决办法

  1. 如果在cmd中显示这个错误,那就是环境变量设置有误,可以按照配置方法重新进行配置
    2.如果在cmd中输入adb有相应而在Android Studio中却显示不是内部或外部命令,那么按如下方法进行依次检验:
    1、保证SDK路径下的 platform-tools 和 tools 文件夹中包含 adb.exe AdbWinApi.dll AdbWinUsbApi.dll 三个文件。

2、在系统环境变量path中添加adb路径,对应 platform-tools 和 tools 文件夹中两个。如:E:\Android\sdk\platform-tools , E:\Android\sdk\tools 。

3、将 adb.exe AdbWinApi.dll AdbWinUsbApi.dll 三个文件拷贝至windows系统的 C:\Windows\System 和 C:\Windows\System32文件夹中。

安装

  1. 首先通过android studio 连接设备。
  2. adb install apkname.apk 执行这个命令即可

删除apk

输入adb devices 回车。可以查看链接的机子。

输入adb shell pm list packages回车,列出目标设备已经安装的程序包。

目标设备所有应用包
找到要删除的应用的包名。输入命令adb uninstall com.example.text2,回车,发现打印出success,则表示卸载成功了。

注意:删除的命令是:adb uninstall 包名。
这样就可以删除掉特定的app应用了。

查看应用的activity信息

adb shell dumpsys package com.ainemo.dragoon

启用应用的activity

adb -s T20201807090012 shell am start com.cps.mine/.activity.StartUpActivity

无线连接手机

给应用设置连接端口
adb tcpip 5555

连接手机应用
adb connect adb connect 10.10.10.10:5555 
具体ip查看 请打开设置 手机状态

查看分辨率

1,通过adb 连接(WiFi连接或者数据线连接)Android设备

2,PC端进入命令窗口(win +R 组合键后,输入cmd)

3,adb shell 进入linux命令行

4,输入wm size ,查看分辨率

5,输入wm density 查看dpi

附:

其他常用adb指令:

1.adb install +包名       adb安装apk (覆盖安装是使用 -r 选项)

2.adb uninstall +包名      adb卸载apk

3.adb connect +设备IP      网络连接Android设备

4.adb reboot       重启Android设备

5.adb devices      获取连接的设备列表及设备状态

6.adb get-state    获取设备的状态 (设备的状态有 3 钟,device:设备正常连接 , offline:连接出现异常,设备无响应 , unknown:没有连接设备)

7.查看运行在 Android设备上的 adb 后台进程:

执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 findstr 替代 grep

8.adb shell 命令

adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下

8.1. adb shell  bugreport , 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误

输出比较多,建议重定向到一个文件中

adb shell dumpsys > d:\bugreport.log

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

8.2.1  adb shell pm list package      列出所有的应用的包名 (-s:列出系统应用  -3:列出第三方应用 -f:列出应用包名及对应的apk名及存放位置  -i:列出应用包名及其安装来源)

8.2.2  adb shell pm path+包名     列出对应包名.apk 位置

8.2.3  adb shell pm install +apk存放路径   安装应用(目标 apk 存放于PC端,用 adb install 安装   目标 apk 存放于Android设备上,用 pm install 安装)

8.3 am

8.3.1 adb shell  am start +包名/.Activity (要启动的Activity)     启动一个 Activity (-s先停止目标应用,再启动  -w 等待应用完成启动  -a 启动默认浏览器打开一个网页例:adb shell am start -a android.intent.action.VIEW -d http://testerhome.com

8.3.2  adb shell am monitor        监控 crash 与 ANR

8.3.3  adb shell am force-stop    后跟包名,结束应用

8.3.4  adb shell am startservice    启动一个服务

8.3.5  adb shell am broadcast       发送一个广播

8.4 input

这个命令可以向 Android 设备发送按键事件

8.4.1 adb shell input text +具体内容    发送文本内容,不能发送中文

8.4.2 adb shell input keyevent + 按键事件   发送按键事件 例如:adb shell input keyevent KEYCODE_HOME 模拟按下Home键

8.4.3 adb shell input tap +触摸事件的位置 , 对屏幕发送一个触摸事件 例如:点击屏幕上坐标为 500 500 的位置(adb shell input tap 500 500)

8.4.4 adb shell input tap , 对屏幕发送一个触摸事件

8.4.4 adb shell input swipe   滑动事件  例如:从右往左滑动屏幕

`adb shell input swipe 800 600 100 600`


8.5 screencap

截图命令

`adb shell screencap -p /sdcard/DCIM/screenTest.png`


8.6 screenrecord

4.4以上系统版本新增的录制命令

`adb shell screenrecord /sdcard/demo.mp4`


执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard/ 下

8.7 ime

列出设备上的输入法

`adb shell ime list -s`



其他

1.获取系统版本

adb shell getprop ro.build.version.release

2.获取系统api版本

adb shell getprop ro.build.version.sdk

3.获取手机相关制造商信息

adb shell getprop | grep "model|version.sdk|manufacture
r|hardware|platform|revision|serialno|product.name|brand"

3,获取手机系统信息( CPU,厂商名称等)

adb shell "cat /system/build.prop | grep "product""

4,获取手机设备型号

adb -d shell getprop ro.product.model

5,获取手机厂商名称

adb -d shell getprop ro.product.brand

6,获取手机的序列号

有两种方式

1,adb get-serialno
2,adb shell getprop ro.serialno

7,获取手机MAC地址

adb shell cat /sys/class/net/wlan0/address

8,获取手机内存信息

adb shell cat /proc/meminfo

9,获取手机存储信息

adb shell df

10,获取手机内部存储信息

adb shell df /data

11,获取Android设备屏幕分辨率

adb shell "dumpsys window | grep mUnrestrictedScreen"

12,连接多个设备对其中一个进行操作
//以adb shell 为例
adb -s 192.168.101.37:5555 shell

13,查看运行进程

adb shell procrank

14,关闭或杀掉进程

adb shell kill 366

15,保留数据和缓存文件,重新安装,升级

adb install -r test.apk

16,卸载app但保留数据和缓存文件

adb uninstall -k cnblogs.apk

17,查看目录下的文件大小

adb shell du -sh *

18,查看正在运行的Services

adb shell dumpsys activity services []

19,查看正在运行的Activity

adb shell dumpsys activity []

20,clear 清除应用数据

adb shell pm clear com.baidu

21,cp复制文件

adb shell 进入Android Linux命令中

cp -f system/app/Music/Music.apk /sdcard/Music.apk

22,删除命令

adb shell 进入Android Linux命令中

rm  -r  /mnt/sdcard/a.mp3

删除文件夹的时候需要加上-r参数

cd dir 
rm *    删除dir中所有文件

23,重启进入recovery模式

adb reboot recovery

24,cat查看文件

cat  /sdcard/test.txt

25,查看指定进程PID

ps +  进程的包名

26,查看进程具体的信息

例如:1460是要查看的进程的PID
cat /proc/1460/maps    查看进程的文件结构 
cat /proc/1460/status   查看进程的状态

27,findstr 和 grep过滤搜索

1)cmd下搜索包名为com.android.launcher3的进程 
adb shell ps|findstr /i “com.android.launcher3”

2)shell下面搜索 
先使用adb shell进去,然后使用grep命令过滤 
ps | grep “com.linux.test”

28,查看android设备的IP地址

adb shell ip addr show wlan0 | grep "inet "| cut -f1 -d "/" |cut -f2 -d "t"

posted @ 2023-04-21 11:10  cps666  阅读(71)  评论(0编辑  收藏  举报