android 开发不得不了解的adb

如果你还在慢慢在手机点击各种界面来 进行对应的操作,那你就太out 了.通过adb 连接上你的手机,你就拥有了全世界. 在实际的开发过程中,我感觉这个adb真的很有用

ADB 全称 Android Debugger Bridge .
是放在android sdk包 platform-tools 中的一个可执行程序工具.因为是一个单独的程序,所以如果有需要的话可以把它和它依赖的库单独的拿出来使用,不用下载完整的sdk.

官网上有这个一个地址用来介绍的:
https://developer.android.google.cn/studio/command-line/adb.html

adb 功能大全

本文会列举adb 的主要功能,一些在实际的开发过程中会用到的十分实用的操作.
需要说明的是,中间的命令十分的多, 尽可能的列举一些实用的功能.其中的命令如果想知道具体的含义,基本都可以通过 [command] –help的方式查看

adb 功能列表

通过 adb –help 可以获取到一个如下的列表

中间的功能进行一简单的列举.如下表所示:

模块 具体命令 说明
通用选项 可以配置一些 功能不常用,可以根据需要查看看原始文档
通用命令 device, help, version 基本信息的查看
网络操作 connect, disconnect… 进行连接动作,查看相关套接子
文件传输 push, pull, sync 可以往安卓设备上传下载文件
shell操作 linux里面命令都可以一起用 这个是最强大的,最后会重点说明
安装命令 install, unisntall 安装卸载apk使用,里面会有一些参数,会有不同的效果
备份与存储 backup
调试 logcat jdwp 调试查看日志 这个是必须的啊
安全 disable-verity, enable-verity
脚本 reboot remount root… 在一些权限相关的问题需要用到这个
内部调试 start-server, kill-server 操作adb的服务,开始,杀死服务

adb 功能举例

这里只列举可能有用到的,不做全部的说明

网络操作

关于这部分,其实只需要连接它可以通过无线网络进行连接,其底层是基于TCP的套接字(socket).当然 我还是喜欢用数据线

//局域网下通过 ip:port的方式来连接某一个手机
adb connect HOST[:PORT] 

文件传输

  • adb push localPath remotePath
    把电脑上的文件上传到手机上面去

    //把当前目录下的一个文件上传手机sdcard上去
    adb push ./test  /sdcard/test
  • adb pull remotePath localPath
    这个操作是相反的,把手机上的文件取到电脑上

    //把手机sdcard拉到本地来
    adb push  /sdcard/test ./test 
  • adb sync [DIR] . 同步下文件没啥好说的

adb shell 的使用

这个命令最强大,通过adb shell的方式进行到了安卓设备的命令环境时,里面可以执行很多的操作,这个就是全篇的重点了.介绍几个非常常用

adb shell am 说明

adb shell am –help 可以查看帮助文档

  1. 启动activity

am start [-D] [-N] [-W] [-P ] [–start-profiler \

//启动某一个具体的activity ,其中最重要的就是intent 下面会附上一张表具体说明intent
adb shell am start com.test/com.test.myactivity
  1. 启动service

    startservice [–user \ | current] \

    adb shell am startservice com.test/com.test.myservice
  2. 发送广播

    am broadcast [–user \ | all | current] \

    adb shell am broadcast -action com.test.test com.test 
    //广播参数说明
    [-a <ACTION>] [-d \<DATA_URI>] [-t \<MIME_TYPE>]
    [-c \<CATEGORY> [-c \<CATEGORY>] ...]

    重要的intent需要做出说明

intent 说明

参数 说明
-a [action] 设置action
-d 设置传递数据uri
-t 设置mime类型
-c 设置设置类型
package 设置包名
compnent 设置组件,就是包名+类的全路径名
–es 传递key-value的字符串参数
–ez … 传递key-value的bool参数
–ei … 传递key-value的整数参数
–el … 传递key-value的long参数
–ef … 传递key-value的float参数
–eu … 传递key-value的uri参数
–ecn 传递key-value的组件参数

adb shell pm

1.清除数据

adb shell pm clear 包名

2.卸载应用

adb shell pm uninstall  包名

adb shell dumpsys

  1. 查看当前页面activity (可以通过这一步简单的查看任何界面对应的包名是什么)
adb shell dumpsys activity top
  1. 查看应用信息
adb shell dumpsys package 包名
  1. 查看内存信息
adb shell dumpsys meminfo 包名
  1. 查看alarm信息
adb shell dumpsys alarm
  1. 查看dumpsys 支持的所有的服务,看看可以dump什么信息
 adb shell dumpsys -l

### adb 安装相关 ###

  • adb install xx.apk 安装程序,install 这个命令可以带上参数,一般 ‘-r’ 比较常用,需要进行替换操
     -l: forward lock application
     -r: replace existing application
     -t: allow test packages
     -s: install application on sdcard
     -d: allow version code downgrade (debuggable packages only)
     -p: partial application install (install-multiple only)
     -g: grant all runtime permissions
  • adb uninstall 包名 
     卸载程序

    adb 服务相关

    有的手机 你很难链接上有问题,可以尝试用adb kill-server 再 adb start-sever的方式来处理

文章的最后 总要来点实际的

尾部的这部分会持续加入更新

查看系统属性 getprop
查看系统相关信息 cat /system/build.prop |grep product

猜你喜欢

转载自blog.csdn.net/xjz729827161/article/details/78758037