美文网首页
APP性能 | Android ADB

APP性能 | Android ADB

作者: Gawain_Knowknow | 来源:发表于2019-04-25 16:59 被阅读0次

    工作中经常会用到的ADB命令,现在记录下来,后续会不断补充及增加

    1.显示系统中全部设备:adb devices
    
    2.开启ADB服务:adb start-server
    
    3.关闭ADB服务:adb kill-server 停止 adb 服务
    
    4.连接设备: adb connect 192.168.1.61
    

    如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。上面192.168.1.61替换成想要连接设备的IP即可

    5.断开设备:

    adb disconnect  192.168.1.61
    

    6.安装一个apk adb install -r (APK路径) -r 代表如果apk已安装,重新安装apk并保留数据和缓存文件。apk路径则可以直接将apk文件拖进cmd窗口,记得加空格。

    7.直接卸载:

    adb uninstall (apk包名)
    

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

    adb uninstall -k (apk包名)
    

    8.列出手机装的所有app的包名:

    adb shell pm list packages
    

    列出系统应用的所有包名:

    adb shell pm list packages -s
    

    列出除了系统应用的第三方应用包名:

    adb shell pm list packages -3
    

    9.清除应用数据与缓存:

    adb shell pm clear (apk包名)
    

    10.启动应用:

    adb shell am start -n com.helloshan.demo/.MianActivity 
    要知道具体的软件的包名及入口才可以打开。
    

    11.强制停止应用 - 需要强制停止应用,则执行以下命令:

    adb shell am force-stop (apk包名)
    

    12.删除系统应用:

    adb remount (重新挂载系统分区,使系统分区重新可写)。
    
    adb shell
    
    ls  ls命令可以查看文件夹下的所有文件
    
    rm *.apk     
    

    12.杀死某个进程:

    (三个步骤)   adb shell     ps    kill pid
    
    ps是查看进程命令,kill pid 你想结束的进程
    

    13.pull和push文件:

    adb push  (文件路径)  (想要push的路径)  adb pull (文件路径) (想要pull的路径)
    
    adb push/pull 之前有些设备要获取权限先,14条讲解。
    

    14.获取文件的读写权限:

    adb remount有些设备并不能直接adb remount,必须要先以root身份进入,先执行adb root,在执行adb remount
    

    15.查看日志:

    adb logcat
    

    16.查看屏幕分辨率:

    adb shell wm size
    

    17.Linux常用操作文件夹命令

    操作文件和文件夹有时会出现权限不够,Read-only file system。就需要adb remount 操作,获得权限。
    
    cd system/sd/data //进入系统内指定文件夹
    
    ls //列表显示当前文件夹内容
    
    mkdir xxx //创建xxx的文件夹
    
    rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
    
    rm xxx //删除文件xxx
    
    rmdir xxx //删除xxx的文件夹
    

    18.查看APK顶层

    linux:adb shell dumpsys activity | grep "mFocusedActivity"
    
    windows:adb shell dumpsys activity | findstr "mFocusedActivity"
    
     adb shell getevent/sendevent
    
    getevent可以获取用户的点击事件.
    
    

    1).在cmd窗口中输入命令:

    adb shell getevent    (输入adb命令的时候一定要配置android sdk环境变量)
    

    2).点击我们app的确定按钮.就会获取设备汇报的事件.

    3).我们可以看到点击一个按钮产生了12行信息,代表12个事件. 我来解释第一行信息: [设备名称] [类型] [code] [value]

    /dev/input/event7: 0001 014a 00000001  
    
    /dev/input/event7: 0003 003a 00000001  
    
    /dev/input/event7: 0003 0035 00000172  
    
    /dev/input/event7: 0003 0036 00000129  
    
    /dev/input/event7: 0000 0002 00000000  
    

    sendEvent事件的使用


    1).我们用getEvent获取的值是16进制的,而sendEvent输入的值是10进制的,我这里把这些值转换了,并且增加了前缀"adb shell sendevent".

    adb shell sendevent /dev/input/event7 0001 330 00000001  
    
    adb shell sendevent /dev/input/event7 0003 58  00000001  
    
    adb shell sendevent /dev/input/event7 0003 0053 00000370  
    
    adb shell sendevent /dev/input/event7 0003 0054 00000297 
    

    2).我们看到上面最后面一栏中有370跟297两个数,这是是点击的坐标在屏幕的位置.如果我们用点击事件,只需要改变这两个值就可.

    3).把这些命令复制到粘贴板,我们输入这些命令,效果图如下:


    参考文档:https://blog.csdn.net/zhcswlp0625/article/details/53889187

    相关文章

      网友评论

          本文标题:APP性能 | Android ADB

          本文链接:https://www.haomeiwen.com/subject/ghwzgqtx.html