adb 修炼手册

作者: 百工之人 | 来源:发表于2019-10-09 10:26 被阅读0次

    有时间就更新,学多少,写多少
    想要写出全网最全的adb说明书

    本地环境

    ╭─jojo@diodio ~ 
    ╰─$ screenfetch   
                              ./+o+-       jojo@diodio
                      yyyyy- -yyyyyy+      OS: Ubuntu 18.04 bionic
                   ://+//////-yyyyyyo      Kernel: x86_64 Linux 4.15.0-70-generic
               .++ .:/++++++/-.+sss/`      Uptime: 2d 22h 18m
             .:++o:  /++++++++/:--:/-      Packages: 4890
            o:+o+:++.`..```.-/oo+++++/     Shell: zsh 5.4.2
           .:+o:+o/.          `+sssoo+/    Resolution: 1280x1024
      .++/+:+oo+o:`             /sssooo.   DE: XFCE
     /+++//+:`oo+o               /::--:.   WM: Xfwm4
     \+/+o+++`o++o               ++////.   WM Theme: Mojave-light
      .++.o+++oo+:`             /dddhhh.   GTK Theme: TraditionalOk [GTK2]
           .+.o+oo:.          `oddhhhh+    Icon Theme: Tela
            \+.++o+o``-````.:ohdhhhhh+     Font: Sans 10
             `:o+++ `ohhhhhhhhyo++os:      CPU: Intel Core i5-6500 @ 4x 3.6GHz [68.0°C]
               .o:`.syhhhhhhh/.oo++o`      GPU: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) 
                   /osyyyyyyo++ooo+++/     RAM: 3548MiB / 15920MiB
                       ````` +oo+++o\:    
                              `oo++.      
    
    

    查询设备

    adb devices -l
    

    测试结果:

    $ adb devices -l
    List of devices attached
    emulator-5558          device product:lxc_x86_64 model:LXC device:x86_64 transport_id:2
    0123456789ABCDEF       device usb:1-2 product:ALCATEL_ONETOUCH_7053D model:7053D device:X1 transport_id:1
    
    
    • 连接状态:
      *offline:设备未连接到adb或没有响应
      *device:设备已连接到adb服务器
      *no device: 未连接到设备

    将命令发送到特定设备

    可能用到多个安卓设备,模拟器,手机,车机等等。
    可使用-s指定设备

    adb -s emulator-5555 install helloWorld.apk
    

    给大家看看谷歌的例子:

    
        $ adb devices
        List of devices attached
        emulator-5554 device
        emulator-5555 device
    
        $ adb -s emulator-5555 install helloWorld.apk
    
    

    如果您要发出很多 adb 命令,可以将 $ANDROID_SERIAL 环境变量设置为包含序列号。如果您同时使用 -s$ANDROID_SERIAL,则 -s 会替换 $ANDROID_SERIAL

    身为一个资深(6个月)的安卓开发人员;安卓设备两个是最少的,So这个命令真的好便利。

    # 临时设置环境变量
    export ANDROID_SERIAL=emulator-5558
    

    这样后续的adb命令都是暗指这个安卓设备
    删除环境变量:

    unset ANDROID_SERIAL
    

    安装应用(安装APK)

    adb install path_to_apk
    

    adb 发送广播

    am broadcast + 参数
    [-a <ACTION>]
    [-d <DATA_URI>]
    [-t <MIME_TYPE>]
    [-c <CATEGORY> [-c <CATEGORY>] ...]
    [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
    [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
    [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
    [-n <COMPONENT>]
    [-f <FLAGS>][<URI>]
    

    adb 启动Activity

    am start -n {包名}/{包名}.{Activity名}
    am start -n {包名}/.{Activity名}
    

    adb 关闭Activity

    am force-stop {package name}
    

    adb 启动service

    am startservice -n {package name}/{packagename}.{service name}
    am startservice -a <action>
    

    adb查看正在运行的服务

    service list
    

    查看安装包的报信息还有Activity

    aapt dump xmltree FooTest.apk AndroidManifest.xml
    

    pm (PackageManager)

    删除与包相关的所有数据

    清除数据和缓存

    pm clear <package_name>

    pm clear com.xxx.yyy.voice.test
    

    卸载APK

    pm uninstall <package_name>

    pm uninstall com.xxx.yyy.voice.test
    

    输出APP的安装包(APK)路径

    pm path <package_name>

    pm path com.xxx.yyy.voice.test
    

    打印APK相关的系统信息(状态)

    pm dump <package_name>

    pm dump com.xxx.yyy.voice.test
    

    如何看输出的内容?

    打印服务信息 解释
    DUMP OF SERVICE activity activity信息
    DUMP OF SERVICE meminfo 当前内存使用信息
    DUMP OF SERVICE procstats 系统内存使用与一段时间内存总
    DUMP OF SERVICE usagestats 服务器使用状态信息
    DUMP OF SERVICE batterystats 电池状态信息

    我也不能完全看懂输出的Log;但是主要的care点大致能看懂。

    查看安装包名(好多)

    pm list packages

    pm list packages
    pm list packages -3 #第三方APP
    

    扩展资料:adb的adb shell pm list packages命令用来查看当前设备app应用包

    svc

    有的手机会保护自己,kill掉这些命令

    打开wifi

    svc wifi enable
    

    关闭wifi

    svc wifi disable
    

    关闭移动数据网络

    svc data disable
    

    打开移动数据网络

    svc data enable
    

    我的小手机就只可以运行这两个命令。其他的不可以了。电脑无法运行模拟器,莫得办法。

    参考

    安卓开发 用户指南
    博客园 adb logcat介绍

    相关文章

      网友评论

        本文标题:adb 修炼手册

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