• Mac系统下利用ADB命令使用


    Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)

    张明云
    32015.01.24 09:28:44字数 668阅读 80,872

    ADB很强大,记住一些ADB命令有助于提高工作效率。

    1. 获取序列号:

       adb get-serialno
      
    2. 查看连接计算机的设备:

       adb devices
      
    3. 重启机器:

       adb reboot
      
    4. 重启到bootloader,即刷机模式:

       adb reboot bootloader
      
    5. 重启到recovery,即恢复模式:

       adb reboot recovery
      
    6. 查看log:

       adb logcat
      
    7. 终止adb服务进程:

       adb kill-server
      
    8. 重启adb服务进程:

       adb start-server
      
    9. 获取机器MAC地址:

       adb shell  cat /sys/class/net/wlan0/address
      
    10. 获取CPU序列号:

      adb shell cat /proc/cpuinfo
      
    11. 安装APK:

      adb install <apkfile> //比如:adb install baidu.apk
      
    12. 保留数据和缓存文件,重新安装apk:

      adb install -r <apkfile> //比如:adb install -r baidu.apk
      
    13. 安装apk到sd卡:

      adb install -s <apkfile> // 比如:adb install -s baidu.apk
      
    14. 卸载APK:

      adb uninstall <package> //比如:adb uninstall com.baidu.search
      
    15. 卸载app但保留数据和缓存文件:

      adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search
      
    16. 启动应用:

      adb shell am start -n <package_name>/.<activity_class_name>
      
    17. 查看设备cpu和内存占用情况:

      adb shell top
      
    18. 查看占用内存前6的app:

      adb shell top -m 6
      
    19. 刷新一次内存信息,然后返回:

      adb shell top -n 1
      
    20. 查询各进程内存使用情况:

      adb shell procrank
      
    21. 杀死一个进程:

      adb shell kill [pid]
      
    22. 查看进程列表:

      adb shell ps
      
    23. 查看指定进程状态:

      adb shell ps -x [PID]
      
    24. 查看后台services信息:

      adb shell service list
      
    25. 查看当前内存占用:

      adb shell cat /proc/meminfo
      
    26. 查看IO内存分区:

      adb shell cat /proc/iomem
      
    27. 将system分区重新挂载为可读写分区:

      adb remount
      
    28. 从本地复制文件到设备:

      adb push <local> <remote>
      
    29. 从设备复制文件到本地:

      adb pull <remote>  <local>
      
    30. 列出目录下的文件和文件夹,等同于dos中的dir命令:

      adb shell ls
      
    31. 进入文件夹,等同于dos中的cd 命令:

      adb shell cd <folder>
      
    32. 重命名文件:

      adb shell rename path/oldfilename path/newfilename
      
    33. 删除system/avi.apk:

      adb shell rm /system/avi.apk
      
    34. 删除文件夹及其下面所有文件:

      adb shell rm -r <folder>
      
    35. 移动文件:

      adb shell mv path/file newpath/file
      
    36. 设置文件权限:

      adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
      
    37. 新建文件夹:

      adb shell mkdir path/foldelname
      
    38. 查看文件内容:

      adb shell cat <file>
      
    39. 查看wifi密码:

      adb shell cat /data/misc/wifi/*.conf
      
    40. 清除log缓存:

      adb logcat -c
      
    41. 查看bug报告:

      adb bugreport
      
    42. 获取设备名称:

      adb shell cat /system/build.prop
      
    43. 查看ADB帮助:

      adb help
      
    44. 跑monkey:

      adb shell monkey -v -p your.package.name 500
      

    More:

     
     
    246人点赞
     
    日记本
     
    https://www.jianshu.com/p/860bc2bf1a6a
     
    #######################################################################################

     

    0.3752018.06.28 11:10:27字数 496阅读 5,839

    1.获取序列号

    adb get-serialno

    2.查看连接计算机的设备

    adb devices

    3.重启机器:

    adb reboot

    4.重启到bootloader,即刷机模式

    adb reboot bootloader

    5.重启到recovery,即恢复模式

    adb reboot recovery

    6.查看log

    adb logcat

    7.终止adb服务进程

    adb kill-server

    8.重启adb服务进程

    adb start-server

    9.获取机器MAC地址

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

    10.获取CPU序列号

    adb shell cat /proc/cpuinfo

    11.安装APK

    adb install <apkfile> //比如:adb install baidu.apk

    12.保留数据和缓存文件,重新安装apk

    adb install -r <apkfile> //比如:adb install -r baidu.apk

    13.安装apk到sd卡

    adb install -s <apkfile> // 比如:adb install -s baidu.apk

    14.卸载APK

    adb uninstall <package> //比如:adb uninstall com.baidu.search

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

    adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search

    16.启动应用

    adb shell am start -n <package_name>/.<activity_class_name>

    17.查看设备cpu和内存占用情况

    adb shell top

    18.查看占用内存前6的app

    adb shell top -m 6

    19.刷新一次内存信息,然后返回

    adb shell top -n 1

    20.杀死一个进程

    adb shell kill [pid]

    21.查询各进程内存使用情况

    adb shell procrank

    22.查看进程列表

    adb shell ps

    23.查看指定进程状态

    adb shell ps -x [PID]

    24.查看后台services信息

    adb shell service list

    25.查看当前内存占用

    adb shell cat /proc/meminfo

    26.从本地复制文件到设备

    adb push <local> <remote>

    27.从设备复制文件到本地

    adb pull <remote> <local>

    28.列出目录下的文件和文件夹,等同于dos中的dir命令

    adb shell ls

    29.进入文件夹,等同于dos中的cd 命令

    adb shell cd <folder>

    30.设置文件权限

    adb shell chmod 777 /system/fonts/DroidSansFallback.ttf

    31.查看文件内容

    adb shell cat <file>

    32.查看bug报告

    adb bugreport

    33.获取设备名称

    adb shell cat /system/build.prop

    34.跑monkey

    adb shell monkey -v -p your.package.name 500

    https://www.jianshu.com/p/6b64cf1e51bc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    #######################################################################################

    adb shell常用命令

    0.2922017.05.16 11:10:44字数 2,021阅读 5,720

    获取编译时间
    cat /proc/version

    内核崩溃
    cat /proc/last_kmsg

    获取硬件信息
    adb shell getprop | grep cpu

    获取序列号:
    adb get-serialno

    查看连接计算机的设备:
    adb devices

    查看模拟器/设施的当前状态:
    adb get-state

    多设备下连接目标设备:
    adb -s xxx shell

    重启机器:
    adb reboot

    重启到bootloader,即刷机模式:
    adb reboot bootloader

    重启到recovery,即恢复模式:
    adb reboot recovery

    查看log:
    adb logcat

    终止adb服务进程:
    adb kill-server

    重启adb服务进程:
    adb start-server

    查看Service列表
    adb shell service list
    adb shell dumpsys activity services

    检查Service是否存在
    adb shell service check phone

    获取机器MAC地址:
    adb shell cat /sys/class/net/wlan0/address

    获取CPU序列号:
    adb shell cat /proc/cpuinfo

    安装APK:
    adb install <apkfile> //比如:adb install baidu.apk

    保留数据和缓存文件,重新安装apk:
    adb install -r <apkfile> //比如:adb install -r baidu.apk

    安装apk到sd卡:
    adb install -s <apkfile> // 比如:adb install -s baidu.apk

    卸载APK:
    adb uninstall <package> //比如:adb uninstall com.baidu.search

    卸载app但保留数据和缓存文件:
    adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search

    启动应用:
    adb shell am start -n <package_name>/.<activity_class_name>

    查看数据库:
    adb shell content query --uri content://settings/secure

    查看设备cpu和内存占用情况:
    adb shell top

    查看占用内存前6的app:
    adb shell top -m 6

    刷新一次内存信息,然后返回:
    adb shell top -n 1

    查询各进程内存使用情况:
    adb shell procrank

    启动应用程序:
    adb shell am

    杀死一个进程:
    adb shell kill [pid]

    查看进程列表:
    adb shell ps

    查看Android系统的属性
    adb shell prop

    查看指定进程状态:
    adb shell ps -x [PID]

    查看后台services信息:
    adb shell service list

    adb 查看最上层成activity名字:

    linux:
    adb shell dumpsys activity | grep "mFocusedActivity"
    windows:
    adb shell dumpsys activity | findstr "mFocusedActivity"

    查看当前内存占用:
    adb shell cat /proc/meminfo

    查看IO内存分区:
    adb shell cat /proc/iomem

    将system分区重新挂载为可读写分区:
    adb remount

    从本地复制文件到设备:
    adb push <local> <remote>

    从设备复制文件到本地:
    adb pull <remote> <local>

    列出目录下的文件和文件夹,等同于dos中的dir命令:
    adb shell ls

    进入文件夹,等同于dos中的cd 命令:
    adb shell cd <folder>

    重命名文件:
    adb shell rename path/oldfilename path/newfilename

    删除system/avi.apk:
    adb shell rm /system/avi.apk

    删除文件夹及其下面所有文件:
    adb shell rm -r <folder>

    移动文件:
    adb shell mv path/file newpath/file

    设置文件权限:
    adb shell chmod 777 /system/fonts/DroidSansFallback.ttf

    新建文件夹:
    adb shell mkdir path/foldelname

    查看文件内容:
    adb shell cat <file>

    查看wifi密码:
    adb shell cat /data/misc/wifi/*.conf

    清除log缓存:
    adb logcat -c

    查看bug报告:
    adb bugreport

    获取设备名称:
    adb shell cat /system/build.prop

    查看ADB帮助:
    adb help

    跑monkey:
    adb shell monkey -v -p your.package.name 500

    dump堆栈:
    debuggerd -b <pid>

    备份与恢复:

    备份:
    adb backup -f c:allowBackup.ab -noapk com.ijinshan.browser_fast
    恢复:
    adb restore "c:allowBackup.ab"

    拷贝文件(这些命令都是在adb下用,而不是在shell中用):

    push从电脑端向手机复制文件:
    adb push d:/adb/test.txt /data/data/download/
    pull从手机端向本地复制文件:
    adb pull /data/data/download/ d:/adb/

    查看应用程序内存使用情况:
    adb shell dumpsys meminfo <package_name>

    其中,package_name 也可以换成程序的pid,
    pid可以通过 adb shell top | grep app_name 来查找.
    内存使用情况参考http://blog.csdn.net/bigconvience/article/details/35553983

    查看进程占用cpu的情况:
    adb shell top -n 1 -d 0.5 | grep proc_ id

    procrank查看内存占用:
    adb shell procrank

    VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
    RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
    PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
    USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

    快速查看apk内androidmanifest文件内容:
    aapt dump xmltree xxxx.apk AndroidManifest.xml

    列出一些系统信息和所有应用的信息:
    adb shell dumpsys packages > d:packages.txt

    列出一些指定应用的信息:
    adb shell dumpsys package com.ijinshan.duba > d:duba.txt

    查看当前谁持有WAKE_LOCK锁对象:
    adb shell dumpsys power

    查看电池用量详情:
    adb shell dumpsys batteryinfo

    搜索文件:
    busybox find -name xxx

    电池日志:
    adb shell dumpsys batterystats > x:atterystats.txt
    bugreport日志:adb bugreport > x:ugreport.txt

    电池日志图形界面查看
    https://github.com/cacker/battery-historian

    查看应用uid
    cat /proc/<pid>/status
    cat /data/system/packages.list | grep xxx

    cpu频率
    查看:
    cat [%cpuFreqPath%]/cpuinfo_cur_freq (当前cpu频率)
    修改:
    echo xxx > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

    cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq (当前cpu频率)
    cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq (最大cpu频率)
    cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq (最小cpu频率)
    cat /sys/devices/system/cpu/cpu0/cpufreq/related_cpus (cpu数量标号,从0开始,如果是双核,结果为0,1)
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies (cpu所有可用频率)
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors (cpu所有可用调控模式)
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor (当前使用哪种调控模式)
    cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency (变频延迟)

    某个应用内存消耗信息
    adb shell dumpsys meminfo sina.mobile.tianqitong > d:meminfo.txt

    zygote的堆栈dump

    adb shell // 进入shell
    chmod 777 /data/anr // /data/anr设置可读写权限
    rm -r traces.txt // 删除原始traces
    adb shell ps //查看进程pid
    kill -3 //
    adb pull /data/anr/traces.txt d:/trace.txt
    trace中查看cpu调度的基本信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    "Thread-196" prio=5 tid=27 SUSPENDED
    | sysTid=2271 nice=0 sched=0/0 cgrp=apps/bg_non_interactive handle=1543812984
    | state=S schedstat=( 1177036142201 119659820902 234955 ) utm=84431 stm=33272 core=0

    00 pc 000217a8 /system/lib/libc.so (__futex_syscall3+8)

    01 pc 0000e09c /system/lib/libc.so (__pthread_cond_timedwait_relative+48)

    02 pc 0000e0f8 /system/lib/libc.so (__pthread_cond_timedwait+60)

    03 pc 0005419d /system/lib/libdvm.so (dvmChangeStatus(Thread*, ThreadStatus)+72)

    04 pc 00049995 /system/lib/libdvm.so

    05 pc 0004b9c1 /system/lib/libdvm.so

    06 pc 0006e721 /system/lib/libandroid_runtime.so

    07 pc 0001e610 /system/lib/libdvm.so (dvmPlatformInvoke+112)

    08 pc 0004df29 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const, JValue, Method const, Thread)+500)

    09 pc 00027a24 /system/lib/libdvm.so

    10 pc 000fedc8 [stack:2271]

    at android.util.Log.println_native(Native Method)
    at android.util.Log.println(Log.java:332)
    at com.android.internal.os.AndroidPrintStream.log(AndroidPrintStream.java:47)
    at com.android.internal.os.LoggingPrintStream.println(LoggingPrintStream.java:311)
    at java.net.PlainSocketImpl.read(PlainSocketImpl.java:487)
    at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
    at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)
    at java.io.InputStream.read(InputStream.java:163)
    at java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:142)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:309)
    at com.sina.push.i.c.c(SourceFile:241)
    at com.sina.push.i.c.b(SourceFile:133)
    at com.sina.push.i.c.d(SourceFile:270)
    at com.sina.push.i.c.e(SourceFile:496)
    at com.sina.push.i.c.<init>(SourceFile:97)
    at com.sina.push.b.a.b.a(SourceFile:56)
    at com.sina.push.b.e.a(SourceFile:166)
    at com.sina.push.b.e$b$a.run(SourceFile:487)
    其中schedstat=( 1177036142201 119659820902 234955 ) utm=84431 stm=33272 core=0
    从左到右六个数字分别是:
    1- 当前线程在cpu上消耗的时间
    2- 当前任务在CPU任务轮询中的等待时间
    3- 当前线程在这个cpu上运行的次数
    4- 当前线程的用户态执行时间
    5- 当前线程的内核态执行时间
    6- 当前线程在哪里个核心上执行
    实际上描述了调度的基本信息

    SYSTEM LOG
    logcat -b system -v time -d *:v | grep sina.mobile
    -b // 加载一个可使用的日志缓冲区供查看,比如event和radio,默认值是main.
    system // system log
    -v // 输出字段 time 显示时间
    -d // 缓冲区日志打印并退出

    https://www.jianshu.com/p/fc021ab58641
    *:v // 日志级别高到低 E W I D V
    grep sina.mobile // 过滤包含sina.mobile的信息

    adb shell常用命令--云淡风轻
    Linux-常用命令大全

  • 相关阅读:
    Python并发编程之深入理解yield from语法(八)
    Python并发编程之从生成器使用入门协程(七)
    Python并发编程之消息队列补充及如何创建线程池(六)
    Delphi中Chrome Chromium、Cef3学习笔记(一)
    Webbrowser指定IE内核版本(更改注册表)
    C#截取字符串按字节截取SubString
    C# DataGridView导出Excel
    C# Microsoft.Office不存在空间名称Interop和Excel
    c#线程间传递参数
    C#根据进程名称获取进程的句柄?
  • 原文地址:https://www.cnblogs.com/pengmn/p/14843384.html
Copyright © 2020-2023  润新知