adb使用持续更新

android开发必备调试工具, 记录下常用的一些adb命令

adb工具可以单独下载也可以下载android SDK在platform-tools文件夹中可以找到

jshh@jeson-ThinkPad-T470:~/Android/Sdk/platform-tools$ ls
adb          e2fsdroid  hprof-conv  mke2fs       package.xml        sqlite3
api          etc1tool   lib64       mke2fs.conf  sload_f2fs         systrace
dmtracedump  fastboot   make_f2fs   NOTICE.txt   source.properties

配置环境变量
一般我们使用为了方便在任何目录下都能方便的直接使用adb工具,都会采用配置环境变量的方式来处理,配置环境变量有两个位置可以直接配置:

  1. ~/.bashrc
    此脚本只针对登录用户生效
  2. /etc/profile
    此脚本全局,针对任何用户,我是配置在这个文件的,末尾添加如下配置
#config adb
export PATH="/home/jshh/Android/Sdk/platform-tools:$PATH"

ps : /erc/profile文件修改需要root权限,可以sudo vi /etc/profile 去修改,这里不多说了.

adb start-server
启动本地adb服务,一般情况下如果直接 adb connect ip, 会自动start

adb kill-server
关闭本地adb服务, 这种情况一般用于adb的配置被改变或者adb出现异常时要重启adb,可以先关闭之后,在重新 adb start-server 来重启本地adb服务

adb disable-verity
关闭在调试环境下的dm-verity检查,当adb remount无法正常执行时,可以尝试使用

adb enable-verity
启用在调试环境下的dm-verity检查

adb connect 192.168.1.123
连接指定ip的android设备

adb devices
查看当前adb连接的设备列表

adb root
获取android设备root权限

adb remount
重定义分区挂载,一般此命令ok之后,可以读写如 /system 原本只读权限的分区内容

adb mount -o remount rw /system
相比于前一条,这条指令比较明确清晰和针对性,只针对/system

adb shell
进入adb连接的android设备shell环境,进入之后就相当于远程登录了android设备,可以执行android所支持的各种shell环境的指令如:

  • pm install xx.apk //pm工具安装apk
  • pm uninstall packageName //pm工具卸载apk
  • pm clear packageName //pm工具清理apk缓存
  • am start -n com.ecarx.radio.test/.TestActivity //am 工具启动apk并指定activity
  • am force-stop com.ecarx.radio.test //am工具强制关闭指定apk进程
  • am broadcast -a “ecarx.intent.action.ECARX_KEY_SRC_EVENT” //am 工具发送指定action广播
  • input keyevent 88 // input 工具模拟发送按键事件
  • reboot //系统重启
    等等所有指令

adb install xx.apk
adb安装本地apk

adb uninstall packageName
adb 根据报名卸载apk

adb push path/file path/file
将本地文件推至android设备文件系统中, 第一个path是本地文件路径文件 第二个path为目标路径
例如:将本地当前目录xx.apk 推至android设备的/system/app/ 目录下

adb push xx.apk /system/app/

adb pull path/file path/file
将目标android设备指定文件拷贝至本地系统, 第一个path为目标android设备文件路径,第二个path为本地文件路径
例如: android设备 /system/app/ 目录下xx.apk 拷贝到本地当前目录

adb push /system/app/xx.apk .

adb 一些异常问题集合

  1. adb devices 一直处理offline
    有一种说法是adb版本较低,这个我暂时没有碰到,如果有朋友遇到可以尝试下载更换一个高版本adb工具

  2. offline 和 unauthorized 状态之中跳变,长时间为offline
    删除.android/目录下 adbkey adbkey.pub,之后android设备一般会提示添加adbkey授权,点击确定即可,之后adb devices正常.

cd ~/.android/
rm adbkey*
  1. adb 无法connect,或者端口被占用,反正就是没法connect(确定网络正常,android设备服务正常),那就尝试以下重启服务
adb disconnect
adb kill-server
adb start-server
adb connect 192.168.xx.xx
adb devices
  1. usb连接 adb shell 出现 insufficient permissions for device
adb shell
error: insufficient permissions for device

解决办法:

1. 清空 /etc/udev/rules.d/51-android.rules
2. 添加一行:SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
3. 不需要重启linux设备,直接拔插usb调试口就行 

你可能感兴趣的:(android)