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工具,都会采用配置环境变量的方式来处理,配置环境变量有两个位置可以直接配置:
#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环境的指令如:
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 一些异常问题集合
adb devices 一直处理offline
有一种说法是adb版本较低,这个我暂时没有碰到,如果有朋友遇到可以尝试下载更换一个高版本adb工具
offline 和 unauthorized 状态之中跳变,长时间为offline
删除.android/目录下 adbkey adbkey.pub,之后android设备一般会提示添加adbkey授权,点击确定即可,之后adb devices正常.
cd ~/.android/
rm adbkey*
adb disconnect
adb kill-server
adb start-server
adb connect 192.168.xx.xx
adb devices
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调试口就行