Android系统 debug 技巧(最全最强adb 串口调试命令)

串口调试命令 debug

adb 命令(去掉adb shell即为串口命令)

发送广播

      adb shell am broadcast -a com.android.test

打开activity

      adb shell am start -n com.google.android.tungsten.setupwraith/.MainActivity

其他

  • adb start-server:启动adb进程
  • adb connect ip地址 :通过Ip连接设备(在局域网中即可。可以不用adb线)
  • adb kill-server:杀死adb进程
  • adb install E:\yyh.apk
  • adb uninstall 应用包名
  • adb shell pm path com.org.emanual(输出包名以及路径)然后再路径
  • adb devices:列出与开发环境建立连接的android设备的列表
  • adb shell:进入Android命令行
  • adb shell sqlite3 data/data/com.android.providers.settings/databases/settings.db “select * from secure”(查看secure数据表)
  • Android的指令:
    • ls:罗列出当前目录下的所有文件和文件夹
    • ps -A:罗列出当前系统运行的所有进程
  • netstat -ano:查看系统的端口占用情况

截图

- adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到SDCard)
  • adb pull /sdcard/screenshot.png d:/screenshot.png(保存到电脑)

录屏

- adb shell screenrecord  --time-limit 10 /sdcard/demo.mp4
- adb pull /sdcard/demo.mp4 F:\mvp\demo.mp4
  • 批量安装apk命令,apk文件得拷贝到adb根目录。

    for %i in (*.apk) do adb install %i

    • 连接adb调试
      有时候要使用连接线去连接android 设置去调试,如果没有连接线的话,可以将android 设备和
      pc置于同一个局域网中,然后通过 **adb connect android设备ip地址** 去连接调试

串口命令

logcat

- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;

--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;

--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;

--"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;

--"-v"选项 : 设置日志的输出格式, 注意只能设置一项;

--"-c"选项 : 清空所有的日志缓存信息;

--"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;

--"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;

--"-g"选项 : 查看日志缓冲区信息;

--"-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;

--"-B"选项 : 以二进制形式输出日志;
        logcat --help z
  • logcat -c(清除还没吐出来的缓存log)
  • logcat (开始抓log)
  • logcat -s “过滤条件” (只输出特定的log)
  • logcat -v time(log中带时间戳)
  • logcat -f 路径(将logcat保存在一个路径下)
  • logcat | grep -i wifi(使用管道来进行过滤,查询wifi并忽略大小写)

dumpsys

输出系统在一段时间里的状况,包括activity,广播等之类,比较多

因为dumpsys刷出来的东西太多,故可以和grep结合使用

dumpsys activity               查看Activity信息 
dumpsys package <package-name> 查看包的信息
dumpsys activity activities    查看Activity栈
dumpsys audio                  查看audio信息
dumpsys |grep BroadcastRecord  查看广播记录
dumpsys input                  查看设备对应的kl文件信息
dumpsys wifi                   查看wifi信息
dumpsys activity top 查看顶层应用情况,具体哪一个在最上面

一些常用的串口命令

  • input text 账号密码(快速 输入账号密码)

  • getevent (看按键键值)

  • getprop 系统属性(得到系统属性的值)

  • input keyevent 键值(模拟按键)

  • getenforce(查看selinux的权限)

  • dumpsys window|grep mFocusedWindow(查看当前界面属于那一个应用)

  • setenforce 0(将selinux的权限去掉)

  • setprop 系统属性 系统属性值(设置系统属性)

settings 命令

** 系统中很多的属性都是在Setting这个应用设置的,例wifi,蓝牙,声音,亮度等,这些数据主要是存储在数据库中,对应的URI为:content://settings/system和content://settings/secure.对应的数据库为: /data/data/com.android.providers.settings/databases/settings.db里,里面有三个表global, system, secure.

可以通常这样查看数据

adb shell sqlite3 data/data/com.android.providers.settings/databases/settings.db "select * from secure"

但是自从android 6.0以后这几个表都变为了xml文件。具体位置如下:

不同用户放不同的路径下,如果没有创建新用户,则在/data/system/users/0下

settings_global.xml, settings_system.xml, settings_secure.xml

  • 用代码设置或者得到系统属性的值

      Settings.Secure.getInt(getContentResolver() , Settings.Secure.WIFI_ON);
      Settings.System.putInt(mContext.getContentResolver(), key, value);
    
  • 用串口:(system,secure类似)

       settings get global 系统属性key
    
       settings put global 系统属性key 系统属性值
    

pm

  • pm install -r (安装应用)
  • pm create-user 10(创建用户)
  • pm list users(列出所有用户)
  • pm remove-user 10(在主用户模式下删除10这个用户)
  • pm path com.org.emanual(输出包名以及路径)然后再路径

am

  • am switch-user 10(切换到10这个用户)

wm

  • wm size (读取屏幕分辨率)
  • wm density(读取屏幕dpi)
  • wm size 1920x1080(将屏幕分辨率设置为1920x1080)
  • wm density 300 (将dpi设置为300)
  • wm size reset (恢复默认值)

今天突然发现一篇将adb 命令整理的很全的文章,这里分享出来,真是大神啊,这篇文章真的很经典很经典,文章中提到的用法工作中基本都能用到。
ADB 用法大全

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假装多好123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值