Haldir

  • 前端
  • 开发
  • 人生苦短
  • 系统
  • 工具
所有文章 关于我

Haldir

  • 前端
  • 开发
  • 人生苦短
  • 系统
  • 工具

adb常用命令手册

2016-12-10

ADB 常用命令手册

平时在android studio中用command的时候还有点不熟悉,找到一篇博客,记录下来,作为日常参考。希望后期能够有时间把Google IO上添加的一些命令加上来

获取序列号:

adb get-serialno

查看连接计算机的设备:

adb devices

重启机器:

adb reboot

重启到bootloader,即刷机模式:

adb reboot bootloader

重启到recovery,即恢复模式:

adb reboot recovery

查看log:

adb logcat

终止adb服务进程:

adb kill-server

重启adb服务进程:

adb start-server

获取机器MAC地址:

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

获取CPU序列号:

adb shell cat /proc/cpuinfo

安装APK:

adb install //比如:adb install baidu.apk

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

adb install -r //比如:adb install -r baidu.apk

安装apk到sd卡:

adb install -s // 比如:adb install -s baidu.apk

卸载APK:

adb uninstall //比如:adb uninstall com.baidu.search

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

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

启动应用:

adb shell am start -n /.

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

adb shell top

查看占用内存前6的app:

adb shell top -m 6

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

adb shell top -n 1

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

adb shell procrank

杀死一个进程:

adb shell kill [pid]

查看进程列表:

adb shell ps

查看指定进程状态:

adb shell ps -x [PID]

查看后台services信息:

adb shell service list

查看当前内存占用:

adb shell cat /proc/meminfo

查看IO内存分区:

adb shell cat /proc/iomem

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

adb remount

从本地复制文件到设备:

adb push

从设备复制文件到本地:

adb pull

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

adb shell ls

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

adb shell cd

重命名文件:

adb shell rename path/oldfilename path/newfilename

删除system/avi.apk:

adb shell rm /system/avi.apk

删除文件夹及其下面所有文件:

adb shell rm -r

移动文件:

adb shell mv path/file newpath/file

设置文件权限:

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

新建文件夹:

adb shell mkdir path/foldelname

查看文件内容:

adb shell cat

查看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

录制视频

adb shell screenrecord /sdcard/demo.mp4 生成的Demo.mp4文件在根目录下面,默认录制时长180s
按下ctrl+c 停止录制
注意,最好在开发者选项里面,把显示触摸操作打开,这样视频中能显示用户点击操作位置

ADB无线调试

$adb tcpip 5555
$ adb connect <\device-ip-address>
$ adb devices
done

ANR的日志放在/data/anr/traces.txt里面
./adb pull path_to_file location_to_save就能搞出来了

$ adb shell ps | grep bbk ## 在一台步步高手机上
u0_a24 11843 730 1808812 61012 SySepoll 0000000000 S com.bbk.appstore
system 13140 730 1773144 51608 SySepoll 0000000000 S com.bbk.facewake
u0_a80 13464 730 1772072 46280 SySepoll 0000000000 S com.bbk.calendar

$ adb shell cat /proc/11843/oom_adj
/system/bin/sh: cat: /proc/11843/oom_adj: Permission denied

LowMemory Killer实现
搜索关键字(oom_adj)

adb su进terminal
找一台root了的手机
adb shell
su
//好了,现在可以进root模式了
pm list packages
pm clear PACKAGE //删掉/data/data/package里面的东西
//启用/禁用app或者组件,需要su执行
pm enable [–user USER_ID] PACKAGE_OR_COMPONENT
pm disable [–user USER_ID] PACKAGE_OR_COMPONENT
pm reset //重置所有应用的权限

这里面就有很多可以做的了

am stack list
am start -n com.huxiu/com.huxiu.ui.activity.SplashActivity //命令行启动某应用
am start -n com.android.browser/com.android.browser.BrowserActivity //命令行开浏览器

adb devices -l查看设备信息;
通过adb shell getprop | grep product查看设备信息:
更详细的信息可以使用adb shell getprop查看全部信息。

导入和导出文件
导入:adb push xxx/xxx /sdcard/xxx
导出:adb pull /sdcard/xxx /xxx/xxx

获取当前运行的Activity
adb shell dumpsys activity | grep “Run #”

查看cpu
低版本Android(Android N及之前):adb shell top -n 1 | sed -n ‘4,17p’
高版本ANdroid(Android O及之后):adb shell top -n 1 | sed -n ‘5,15p’

查看内存信息
adb shell dumpsys meminfo com.package

查看某个应用的耗电状况
从android 5.0开始,可以通过adb shell dumpsys batterystats com.package获取电量的相关信息。

清除应用的数据和缓存
adb shell pm clear com.package

模拟input事件
adb shell input keyevent key_code
例如:
adb shell input keyevnet 3 # 点击home键操作

adb shell input keyevent 4 # 点击返回键操作

adb shell input keyevent 8 # for key ‘1’

adb shell input keyevent 29 # for key ‘A’

adb shell input text “hello” # 发送文本“hello”

react native shake emulator , will start debug menu

adb shell input keyevent 82

查看系统版本:adb shell getprop ro.build.version.release

查看系统api版本:adb shell getprop ro.build.version.sdk

查看手机IP地址:adb shell ifconfig | grep ‘inet addr:’ | sed -n ‘2p’ | awk ‘{print $2}’ | cut -d ‘:’ -f 2

参考:

  • 张明云的博客
  • adb无线调试
赏

谢谢你请我吃糖果

  • android
  • adb

扫一扫,分享到微信

微信分享二维码
Python 3 学习记录
wrap_content到底多大
© 2024 Haldir
Hexo Theme Yilia by Litten
  • 所有文章
  • 关于我

tag:

  • android
  • databinding
  • Butterknife
  • foreground
  • transition
  • service
  • git
  • tools
  • Handler Message
  • TouchEvent
  • Window
  • statusBar
  • RecyclerView
  • python
  • 置顶
  • adb
  • annotation
  • linux
  • hexo
  • kotlin
  • rxjava2
  • concurrency
  • jvm
  • java
  • Retrofit
  • OkHttp
  • Okio
  • designpattern
  • 算法
  • jQuery
  • 前端
  • javaScript
  • Vue
  • css
  • 热修复
  • 插件化
  • nginx
  • sql
  • django
  • C
  • nio
  • tbd
  • opengl
  • c

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

很惭愧

只做了一点微小的工作
谢谢大家