常用ADB命令整理

--- Android Debug Bridge(安卓调试桥)

  • 连接/重启/安装/应用管理

    adb devices
    
    # 多设备连接
    adb devices
    adb -s 192.168.xxx.xxx shell
    
    # adb wifi
    adb tcpip 5555 //让设备端的 adbd 重启,并在 TCP 端口 5555 处监听
    adb connect 192.168.xxx:5555 //远程连接设备,设备的 IP 地址是 192.168.xxx
    adb disconnect 192.168.xxx:5555 // 断开连接
    
    # adb重新挂载
    adb root
    adb remount
    
    # adb重启
    adb reboot				//普通重启 
    adb reboot recovery		//重启到Recovery界面 
    adb reboot fastboot		//重启到fastboot 
    adb reboot bootloader	//重启到bootloader 
    adb reboot ed 重启到紧急下载(高通only)
    
    # 安装apk
    adb install xxx.apk 路径
    adb install -r xxx.apk 路径 (强制安装)
    
    # 文件导出/上传
    adb push xxx.txt 本地路径 
    adb pull xxx.txt 本地路径
    
    # 截图导出
    adb shell screencap /xxx.jpg //截图
    adb pull xxx //导出
    
    # 录制视频
    adb shell screencord /xxx.mp4
    
    # 查看CPU架构
    adb shell getprop ro.product.cpu.abi
    
    # 屏幕常亮
    adb shell settings put system screen_off_timeout 600000
    
  • Android-调试/Debug

    --- adb logcat 安卓系统专用指令,打印内容只与应用程序相关,即只打印用户态log信息

    # 常用
    adb logcat > log.txt 
    adb logcat -b(特定类型)  kernel > k.txt 
    adb logcat -b all -d(一次性输出后退出) >log.txt  //这个好用,有一次性退出 
    adb shell logcat -b all > log.txt     //kernel log
    
    # 实时查看音量级别
    logcat  | grep storeVolume
    
    # 实时输出
    logcat -b all | grep input_report_key
    
    # 清空日志信息,适用于复现前清除无用log
    logcat -c
    
    radio:查看包含无线装置/电话相关信息的缓冲区 
    events:查看已经过解释的二进制系统事件缓冲区消息
    main:查看系统日志缓冲区(默认) 
    crash:查看崩溃日志缓冲区(默认) 
    all:查看所有缓冲区 
    default:报告main、system、crash缓冲区
    

getprop/setprop/watchprops

--- 在Android系统中,使用getprop命令可以从系统中读取一些设备信息,属性的文件

  • getprop

    # 从系统的配置中读取信息
    
    adb shell getprop > p.txt (导出所有属性)
    
    getprop ro.build.type(看版本 Userdebug版本/UserD版本/熔断版本)
    
    getprop | grep efuse 熔断判断
    
    getprop ro.build.fingerprint(特定事件)
    
    getprop persist.vendor.framebuffer.main(看分辨率)
    
  • setprop

    # setprop <prop-name> <value>
    //例如,修改进程默认分配的可以使用堆内存大小:
    adb shell setprop dalvik.vm.heapgrowthlimit 128m
    
  • 一些常用参数说明

    dalvik.vm.heapgrowthlimit:默认给进程分配的可使用堆内存
    dalvik.vm.heapsize:设置了android:largeHeap以后可使用的内存大小
    ro.product.brand:手机品牌
    ro.product.device:设备名称
    ro.product.model:设备内部代号
    ro.product.name:设备名称
    ro.product.manufacturer:设备制造商
    ro.serialno:设备序列号
    ro.sf.lcd_density:设备屏幕密度
    ro.config.ringtone:默认来电铃声
    ro.config.notification_sound:默认通知铃声
    ro.config.alarm_alert:默认闹钟铃声
    dalvik.vm.stack-trace-file:trace文件放置目录
    

User版本开启ADB

  • Android

    Z:\work\xxx\build\make\core\main.mk
    修改:ro.debuggable=1   ro.adb.secure=0
    
    diff --git a/core/main.mk b/core/main.mk
    index c5a0baeef..ab5b9e22a 100644
    --- a/core/main.mk
    +++ b/core/main.mk
    @@ -393,7 +393,7 @@ ifneq (,$(user_variant))
       ADDITIONAL_SYSTEM_PROPERTIES += security.perf_harden=1
     
       ifeq ($(user_variant),user)
    -    ADDITIONAL_SYSTEM_PROPERTIES += ro.adb.secure=1
    +    ADDITIONAL_SYSTEM_PROPERTIES += ro.adb.secure=0
       endif
     
       ifeq ($(user_variant),userdebug)
    @@ -423,7 +423,7 @@ ifeq (true,$(strip $(enable_target_debugging)))
       ADDITIONAL_SYSTEM_PROPERTIES += dalvik.vm.lockprof.threshold=500
     else # !enable_target_debugging
       # Target is less debuggable and adbd is off by default
    -  ADDITIONAL_SYSTEM_PROPERTIES += ro.debuggable=0
    +  ADDITIONAL_SYSTEM_PROPERTIES += ro.debuggable=1
     endif # !enable_target_debugging
     
     ## eng ##