• adb的常用命令


    CSDN话题挑战赛第2期
    参赛话题:面试宝典

    前言

    adb shell:$
    su:#
    
    //su -: 会切换root用户,也会把用户变量也切换到root的环境变量
    //su :  只是会切换root用户,但是当前的环境变量还是以前用户的环境变量
    

    1. 连接设备

    格式:adb connect 设备IP
    eg:adb connect 20.234.120.224
    

    2. 查看已连接设备

    格式:adb devices
    

    3. 修改文件权限

    adb shell:$ 
    ($)	ls -l  					( 查看所有文件权限)
    ($)	chmod 644 a.txt	(修改a.txt为可读可写(644))
    

    4. 导出文件

    格式:adb pull [安卓设备指定目录下文件] [计算机指定目录]
    eg:adb pull/sdcard/Android/data/包名/files/test.txt f:\test
    

    5. 导入文件

    格式:adb push [计算器指定目录文件] [安卓设备指定目录]
    例如:adb push C:\Users\Administrator\Desktop\test.jpg sdcard
    

    如果遇到remote couldn’t create file: Read-only file system,可以直接在AS中upload

    6. 安装应用

    格式:adb install [全路径apk]
    例如:adb ins    tall C:\Users\Administrator\Desktop\test.apk
    
    若是在apk文件目录进行adb,则可以省略apk目录
    例如:adb install test.apk
    

    如果提示 Failure [INSTALL_FAILED_VERSION_DOWNGRADE],那用下列命令进行安装

    格式:adb install [全路径apk]
    例如:adb install -r -d C:\Users\Administrator\Desktop\test.apk
    

    7. 卸载应用

    格式:adb uninstall [应用包名]
    例如:adb uninstall com.demo.myapplication
    

    8. 查看已安装应用

    adb shell pm list package
    
    若有多个连接设备,则需要指定设备
    adb -s [android设备ip] shell pm list package
    

    9. 退出应用

    格式:adb shell am force-stop [包名]
    例如:adb shell am force-stop com.demo.myapplication
    

    10. 抓取日志

    格式:adb logcat -v time >.\\[文件名称]
    例如:adb logcat -v time >.\\logcat.log
    
    -v time 可以附带上时间
    
    结束抓取:Ctrl+c 可结束日志抓取
    

    11. 点亮/熄灭屏幕

    // 26代表电源键
    adb shell input keyevent 26
    

    12. 开启指定应用

    格式:adb shell am start -n [应用包名/应用Launch的activity全路径]
    例如:adb shell am start -n com.demo.myapplication/com.demo.myapplication.ui.MainActivity (若提示Permission Dnial则不可用)
    

    13.获取当前正在运行的窗口

    adb shell dumpsys window | findstr mCurrentFocus
    
    注:无论是否root,先adb shell,再运行dumpsys window | findstr mCurrentFoucus,都会提示写入失败
    

    14.获取CPU运行信息命令

    // cpu信息查看(top是一个文件,system/bin/top)
    adb shell top 
    
    

    15. 修改屏幕分辨率

    adb shell dumpsys window displays
    adb shell wm size // 更为简洁
    
    adb shell wm size 1920x1080
    

    15. 修改屏幕显示大小

    查看原始设备密度:adb shell wm density
    
    修改设备密度:adb shell wm density xxx(新设置的值)
    例如:adb shell wm density 360
    

    17.查看文件

    adb shell:$
    ($)run-as com.demo.myapplication (run-as:以root身份运行命令,在未root的情况下查看某个(debug模式)的应用内部信息(沙盒文件夹))
    ($)ls
    ($)cd shared_prefs
    ($)cat config.xml
    

    18.查看危险权限

    adb shell pm list permissions -d -g
    

    19.获取当前应用占用内存

    格式:adb shell dumpsys meminfo [包名]
    例子:adb shell dumpsys meminfo com.demo.myapplication
    

    20.获取CPU占用

    adb shell:$
    ($)ps							(查看pid ppid)
    or
    ($)ps |grep com.demo.myapplication (或者使用这个命令直接查看应用pid)
    ($)cat /proc/stat 				(获取totalCpu时间片段)
    ($)cat /proc/1856/stat			(获取pid=1856的CPU信息)	
    
    
    

    21. 查看应用内存情况

    1. 关心othermap的大小
    adb shell
    (#) dumpsys meminfo + 包名
    
    例如:(#)dumpsys meminfo com.demo.myapplication
    
    1. 关心sharemem(共享内存)
    adb shell free -h
    打开需要查看的应用(比如截屏)
    adb shell free -h
    
    对比shared,可以估算共享内存涨幅大小
    
    注:该命令支持adb shell后的linux环境
    
    1. 与2查看的目标一致,也是查看shmem(共享内存)
    adb shell procrank
    打开需要查看的应用(比如截屏)
    adb shell procrank
    
    计算前后的shmem值,大致与第2中方法一致
    
  • 相关阅读:
    docker-server(moby)源码窥探
    熊猫烧香是什么?
    MySQL学习笔记
    (BGV12)方案初学
    github国内镜像,实测可以用,最后一个完美复刻
    深度学习 opencv python 实现中国交通标志识别 计算机竞赛
    C++之std::atomic解决多线程7个问题(二百四)
    2023研究生数学建模E题保姆级思路 出血性脑卒中临床智能诊疗
    软考-软件设计师 - 第12章 软件系统分析与设计【附补充常考知识点】
    MiniNK WEB 选拔题 by F12
  • 原文地址:https://blog.csdn.net/qq_37776700/article/details/127038655